有关/var/run/*.pid

有关/var/run/*.pid

是不是每运行一个程序 都会 在 /var/run/ 里面生成相应的 pid文件?
我想不是这样的吧....
至于pid相关的,您可以看看/etc/init.d/functions
而至于是否生成pid,要看是否有相应的脚本。。。
脚本有没定义生成。。。
但是至于为什么要生成这个文件,我倒真的不清楚...


譬如我直接执行一个脚本,您说它是程序吗?当然也是...但是有pid,却没在/var/run下生成相应的pid文件...
譬如iptables,也没有在/var/run下生成....
比如运行 /etc/rc.d/init.d/atd start
    就会生成 /var/run/atd.pid
运行 /etc/rc.d/init.d/atd stop
   刚才生成的文件就被delete了
我看了/etc/rc.d/init.d/atd 实在是看不出来哪里生成过 atd.pid文件
/etc/rc.d/init.d/atd start 的执行过程大概是这样的
atd.start()--->functions.daemon()--->
initlog -q -c /usr/sbin/atd
是不是用initlog 运行的command都会生成 /var/run/*.pid
还是只要是daemon 进程都会有一/var/run/*.pid?
困惑
刚才写了一大堆,因为公司网络不稳定突然断掉没发上去,烦死了...
有联系方式吗?
您的/etc/rc.d/init.d/atd里在接受start参数时有生成pid的操作,而
如/etc/rc.d/init.d/iptables就没有...所以我认为这是决定是否生成pid的
原因,但为什么会有这样的分别,我也不知道。。。
经过测试
生成pid文件 是根据程序本身特点定的,运行/usr/sbib/atd就会生成 pid 文件,而不是由脚本生成的

双眼皮的猪,
    
其实我没说清楚吧,生成不生成pid由程序宿主本身决定:)
这样不知道行不行
而生成的目的在于在杀掉该进程的时候比较方便,直接可以找到该进程号...

如果有错误,请多多指点...

另外您说的程序本身特点决定,如果您是用的/etc/rc.d/init.d/atd来调用的话...
那么该脚本里其实还是调用的/usr/sbin/atd程序,原理是一样的:)

也许脚本不生成,而程序生成,也许脚本生成,而程序不生成,我觉得这个
不是很必要的问题:)