Pid文件和路径

来源:互联网 发布:淘宝小号无忧 编辑:程序博客网 时间:2024/05/21 17:16

Pid文件和路径

 

/var/run通常是存放pid文件的位置。

/var/run是tmpfs文件系统,每次重启的时候都会清空。


其中/var/run是/run的链接;

由于每次都清空,所以,如果想在/var/run下面的子目录创建pid文件的话,子目录一定要记着创建一次。

 

另外,pid文件通常还需要加锁,用于判断是否有同样的进程已经启动。

Linux/Unix文件系统中,有一种排它锁:WRLCK,只允许一次加锁成功,而且当进程无论主动退出还是被动退出,都会由操作系统释放。这种锁作用于pid文件上,特别适合于防止启动进程的多于一个副本。



当然,如果本身程序允许启动多个副本,那么,pid文件的文件名可以设置为name-{port}.pid,从而限制同一个端口的程序实例不能超过一个,由于是端口相同,所以即便不这么做,程序也启动不会超过一个。在这种情况下,pid文件主要用于识别进程以及和进程进行通信。

 

由于pid文件中存放的是当前启动进程的pid,所以,可以通过该pid和正在运行的进程进行简单通信,例如:可以发送一些信号给改进程,或者用于杀死进程。

kill -HUP `cat /var/run/myprogram.pid`


0 0