/var/lock/subsys作用

关于/var/lock/subsys目录 总的来说,系统关闭的过程(发出关闭信号,调用服务自身的进程)中会检查/var/lock/subsys 下的文件,逐一关闭每个服务,如果某一运行的服务在/var/lock/subsys下没有相应的选项。在 系统关闭的时候,会像杀死普通进程一样杀死这个服务。 通过察看/etc/rc.d/init.d下的脚本,可以发现每个服务自己操纵时都会去查看/var/lock/subsys下相应的服务。 很多程序需要判断是否当前已经有一个实例在运行,这个目录就是让程序判断是否有实例运行的标志,比如说xinetd,如果存在这个文件,表示已经有xinetd在运行了,否则就是没有,当然程序里面还要有相应的判断措施来真正确定是否有实例在运行。通常与该目录配套的还有/var/run目录,用来存放对应实例的PID,如果你写脚本的话,会发现这2个目录结合起来可以很方便的判断出许多服务是否在运行,运行的相关信息等等。

实际上,判断是否上锁就是判断这个文件,所以文件存在与否也就隐含了是否上锁。而这个目录的内容并不能表示一定上锁了,因为很多服务在启动脚本里用touch来创建这个加锁文件,在系统结束时该脚本负责清除锁,这本身就不可靠(比如意外失败导致锁文件仍然存在),我在脚本里一般是结合PID文件(如果有PID文件的话),从PID文件里得到该实例的PID,然后用ps测试是否存在该PID,从而判断是否真正有这个实例在运行,更加稳妥的方法是用进程通讯了,不过这样的话单单靠脚本就做不到了。

时间: 2024-10-26 12:04:16

/var/lock/subsys作用的相关文章

mysql 有报错  ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

sh-4.1# /etc/init.d/mysqld status ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists sh-4.1# /etc/init.d/mysqld start Starting MySQL. ERROR! The server quit without updating PID file (/data1/mysql/mysql.pid). sh-4.1# rm mysql

linux系统中启动MYSQL时出现错误:touch: 无法创建"/var/lock/subsys/mysql": 设备上没有空间

df -h      #查看下空间满了吗 df -li     #查看下inode(文件索引节点)是不是满了            #inodes 占用100%的话,就删除/tmp下的文件 cd /tmp find /tmp -type f -exec rm {} \;        #如果使用rm *,有可能因为文件数量太多而出现Argument list too long错误 find /home -type f -size 0 -exec rm {} \;        #0字节的文件也会

简单谈一谈php中var关键字的作用和意义

var就是public的别名,是用在类中定义公有属性的,只不过历史问题,现在不用var了. php官方的解释:类属性必须定义为公有,受保护,私有之一,如果使用var定义,则被视为公有. Note: 为了兼容性考虑,在 PHP 4 中使用 var 关键字对变量进行定义的方法在 PHP 5 中仍然有效(只是作为 public 关键字的一个别名). 在 PHP 5.1.3 之前的版本,该语法会产生一个 E_STRICT 警告

mysql报错排查总结

mysql报错: [[email protected] ~]# mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 问题排查总结: 问题1: mysqld 守护进程是否启动 解决: [[email protected] mysql]# service mysqld start Starting mysqld: [ OK ] [[em

[linux]var目录作用

var目录 /var 包括系统运行时要改变的数据.其中包括每个系统是特定的,即不能够与其他计算机共享的目录,如/var/log,/var/lock,/var/run.有些目录还是可以与其他系统共享,如/var/mail, /var/cache/man, /var/cache/fonts,/var/spool/news.var目录存在的目的是把usr目录在运行过程中需要更改的文件或者临时生成的文件及目录提取出来,由此可以使usr目录挂载为只读的方式.隐含要求var目录必须挂载为可以读写的方式.通过

登录mysql出现/var/lib/mysql/mysql.sock不存在

问题描述: 1.mysql安装完成后,使用 service mysqld start 总是出现 start failed. 2.使用mysql -uroot -p登录出现找不到 /var/lib/mysql/mysql.sock问题. 3.使用service mysqld status出现 mysql dead but subsys locked(暂时还没有出现这个问题) 解决方法: 4.1 service mysqld stop (停止服务) 4.2 rm -fr /var/lib/mysql

Nginx1.8.0 编译安装

1.准备安装包 下载最新稳定版nginx-1.8.0 http://nginx.org/en/download.html 2.安装环境准备          Centos 6.5(Final) yum-y install pcre-devel openssl-devel 3. 安装 (a) 解压然后编译 ./configure--prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx--group=nginx 

TCP WRAPPERS、denyhosts软件的安装和配置、PAM身份认证模块应用

一.TCP WRAPPERS 1.TCP WRAPPERS的作用是什么? 保护服务器的一些服务,可以限制客户端访问这些服务. TCP WRAPPERS支持那些服务?判断一个服务是否支持TCP WRAPPERS的保护有那些方法? 查看该服务是否加载libwrap,查看该服务是不是基于xinetd服务. ssh ,vsftpd,telnet,http(不支持wrap模块)ipop3 2.检查服务是否支持被TCP WRAPPERS保护 3.防护规则存放在 /etc/hosts.allow /etc/h

linux入门教程(四) 初步进入linux世界

[Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某个服务是否启动. Linux系统的启动过程大体上可分为五部分:内核的引导:运行init:系统初始化:建立终端 :用户登录系统. A 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动.紧接着由启动设备上的grub程序开始引导linux,当引导程序成功完成引导任务后,Lin