摘要:昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #! /bin/sh #进程名字可
阅读全文
随笔分类 - Linux
摘要:举个栗子:idea的注册服务 位置及文件:/etc/init.d/idea idea #!/bin/sh # chkconfig: 2345 80 90 # description: idea register server case "$1" in start) sh /usr/local/ide
阅读全文
摘要:服务管理介绍 服务(Service)本质是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql、sshd、防火墙等),因此我们又称为守护进程,是Linux中非常重要的一个知识点。 服务进程原理图.png 一、service管理指令 service 服务名 [start
阅读全文
摘要:systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。这篇文章主要介绍了Linux 服务管理两种方式service和systemctl,需要的朋友可以参考下 1.service命令 service命令其实是去/etc/in
阅读全文
摘要:前言# 我们在linux上要启动一个程序得时候, 往往都是要写一堆路径, 找到要启动得服务程序, 再用 ./*** 启动服务. 那么我们有没有快速启动方法吗, 答案是肯定得 service 介绍# 官方介绍(英文): https://linux.die.net/man/8/service 简单说一下
阅读全文
摘要:每个Socket在Linux中都映射为一个文件,并与内核中两个缓冲区(读缓冲区、写缓冲区)相关联。 或者说,每个Socket拥有两个内核缓冲区。 有时,我们需要修改缓冲区的内核限制的最大值,使其符合我们的实际需求。 一、系统设置 [jiang@localhost ~]$ uname -a Linux
阅读全文
摘要:1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是:make xxx > build_output.txt此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到的。2.只需要把make输出中的错误(及警告)信息输出到文件中ing,可以
阅读全文
摘要:nohup和&究竟有啥区别?不少同学进行了回复,但并不是所有同学都理解得全对,今天把自己挖的坑自己填了。测试代码如下:是一个输出hello与循环轮数的死循环程序,每输出一行就休眠1秒。 使用 ./a.out 前台运行程序,会是什么效果呢?程序每隔一秒会在终端输出一个字符串。 此时如果键入Ctrl+C
阅读全文
摘要:查看支持的解释器我们一般使用bash来解释运行我们的shell脚本 编写shell脚本,按照规范最好使用.sh结尾创建一个shell脚本文件,在shell中输入了相关命令,然后使用bash shellFile.sh执行成功 执行shell脚本的三种方式1.指定shell命令的解释器,去执行一个带有s
阅读全文
摘要:脚本文件test.sh: #!/bin/bash printf "%s\n" "hello world" 可通过以下方式分别调用不同的shell执行脚本文件: /bin/sh test.sh /bin/bash test.sh 另外也可以直接执行,此时脚本文件的第一行指定了调用哪个shell来执行脚
阅读全文
摘要:所谓的API可以从procps包的top命令,或者sysstat包的iostat命令裁剪出来,其实原理还是读/proc目录下的文件procps: http://procps.sourceforge.net/sysstat: http://sebastien.godard.pagesperso-ora
阅读全文
摘要:编译程序遇到问题 relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; 发现编译的程序引用的一个库(.a文件)是直接用./configure 编译的, 64位机器不能直接./conf
阅读全文
摘要:判断操作系统 通过使用内置的宏,可以进行操作系统判断 1.windows下内置了宏 WIN32 2.linux下内置宏 linux 3.Solaris下内置宏 __sun 编译器判断 VC编译器宏 _MSC_VER GCC/G++编译器宏 __GNUC__ SunCC编译器宏 __SUNPRO_C和
阅读全文
摘要:1 Linux下so的特性 1.1 So的内容 nm可以看so的导出符号表 nm -C libsayhello.so ... 00000000000006a0 T sayhello ... 可看到该so导出了一个函数,sayhello 1.2 App运行时加载的so名字 app链接时用到的so库,它
阅读全文
摘要:针对同一动态组件的不同版本链接和加载。一、概念 DLL HELL字面意思是DLL"灾难",是由于com组件(动态库)升级引起的程序不能运行的情况。 原因 有三种可能的原因导致了DLL Hell的发生: 一是由使用旧版本的DLL替代原来一个新版本的DLL而引起的。这个原因最普遍,是Windows 9X
阅读全文
摘要:1、先了解一下什么是PATH环境变量 (1)环境变量 环境变量相当于“快捷键”。 一个“HOME=/home/ACCP286”的环境变量指明你在这个电脑上的个人主目录是“/home/ACCP286”,你每次要回到个人主目录时,不需要输入“cd /home/ACCP286”,只需要“cd $HOME”
阅读全文
摘要:from:http://blog.ideawand.com/2020/02/15/how-does-linux-shared-library-versioning-works/作为一名经常在Linux下从事开发的工程师来说,应该很多人都遇到过找不到so库的问题,特别是在一些涉及到C/C++依赖的项目
阅读全文
摘要:1. 出现error while loading shared libraries的原因 1-1. 不存在该共享库,如果是这个原因,需要下载或者编译该共享库先了。 1-2. 存在该共享库,但是找不到或者共享库的不对 如果是第二种情况,请继续往下看。 2.原因分析 系统查看共享库的过程:首先查找 /e
阅读全文
摘要:默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通常通过源码包进行安装时,如果不指定--prefix,会将库安装在/usr/local/lib目录下;当运行程序需要链接动态库时,提示找不到相关的.so库,会报错。也就是说,/usr/local/lib目录不在系统默认的库搜索
阅读全文
摘要:http://c.biancheng.net/gcc/ 1. GCC是什么?2. GCC编译器下载和安装教程(针对Linux发行版)3. MinGW下载和安装教程4. Sublime Text运行C和C++程序5. VS Code运行C和C++程序6. GCC的组成部分以及使用到的软件7. gcc和
阅读全文