邢台网站建设邢台,淘宝客网站做百度竞价,品牌线上推广方式,wordpress评论qq总的来说#xff0c;系统关闭的过程#xff08;发出关闭信号#xff0c;调用服务自身的进程#xff09;中会检查/var/lock/subsys下的文件#xff0c;逐一关闭每个服务#xff0c;如果某一运行的服务在/var/lock/subsys下没有相应的选项。在系统关闭的时候#xff0c;会…
总的来说系统关闭的过程发出关闭信号调用服务自身的进程中会检查/var/lock/subsys下的文件逐一关闭每个服务如果某一运行的服务在/var/lock/subsys下没有相应的选项。在系统关闭的时候会像杀死普通进程一样杀死这个服务。通过察看/etc/rc.d/init.d下的脚本可以发现每个服务自己操纵时都会去查看/var/lock/subsys下相应的服务。 [rootvm1 scripts]# ll /var/lock/subsys
total 0
-rw-r--r-- 1 root root 0 Jul 26 2023 network
[rootvm1 scripts]#很多程序需要判断是否当前已经有一个实例在运行这个目录就是让程序判断是否有实例运行的标志比如说xinetd如果存在这个文件表示已经有xinetd在运行了否则就是没有当然程序里面还要有相应的判断措施来真正确定是否有实例在运行。通常与该目录配套的还有/var/run目录用来存放对应实例的PID如果你写脚本的话会发现这2个目录结合起来可以很方便的判断出许多服务是否在运行运行的相关信息等等。 说明有这个flag启动脚本的一个思想。停掉的时候再删除掉。 说明/var/run/rpcbind*里面是pid文件。 实际上判断是否上锁就是判断这个文件所以文件存在与否也就隐含了是否上锁。而这个目录的内容并不能表示一定上锁了因为很多服务在启动脚本里用touch来创建这个加锁文件在系统结束时该脚本负责清除锁这本身就不可靠比如意外失败导致锁文件仍然存在我在脚本里一般是结合PID文件如果有PID文件的话从PID文件里得到该实例的PID然后用ps测试是否存在该PID从而判断是否真正有这个实例在运行更加稳妥的方法是用进程通讯了不过这样的话单单靠脚本就做不到了。