QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3214|回复: 5

有关/var/run/*.pid

[复制链接]
发表于 2004-12-15 12:38:22 | 显示全部楼层 |阅读模式
是不是每运行一个程序 都会 在 /var/run/ 里面生成相应的 pid文件?
发表于 2004-12-15 12:56:13 | 显示全部楼层
我想不是这样的吧....
至于pid相关的,您可以看看/etc/init.d/functions
而至于是否生成pid,要看是否有相应的脚本。。。
脚本有没定义生成。。。
但是至于为什么要生成这个文件,我倒真的不清楚...


譬如我直接执行一个脚本,您说它是程序吗?当然也是...但是有pid,却没在/var/run下生成相应的pid文件...
譬如iptables,也没有在/var/run下生成....
回复

使用道具 举报

 楼主| 发表于 2004-12-15 15:00:56 | 显示全部楼层
比如运行 /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?
困惑
回复

使用道具 举报

发表于 2004-12-15 17:34:21 | 显示全部楼层
刚才写了一大堆,因为公司网络不稳定突然断掉没发上去,烦死了...
有联系方式吗?
您的/etc/rc.d/init.d/atd里在接受start参数时有生成pid的操作,而
如/etc/rc.d/init.d/iptables就没有...所以我认为这是决定是否生成pid的
原因,但为什么会有这样的分别,我也不知道。。。
回复

使用道具 举报

 楼主| 发表于 2004-12-16 09:03:57 | 显示全部楼层
经过测试
生成pid文件 是根据程序本身特点定的,运行/usr/sbib/atd就会生成 pid 文件,而不是由脚本生成的

双眼皮的猪,
回复

使用道具 举报

发表于 2004-12-16 21:13:08 | 显示全部楼层
    
其实我没说清楚吧,生成不生成pid由程序宿主本身决定:)
这样不知道行不行
而生成的目的在于在杀掉该进程的时候比较方便,直接可以找到该进程号...

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

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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 16:32 , Processed in 0.072597 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表