QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2506|回复: 7

如何得到程序的pid号

[复制链接]
发表于 2005-1-10 15:38:24 | 显示全部楼层 |阅读模式
我们公司自己写了一些程序在linux下跑,现在我想把这些程序作为系统服务来跑,并能够通过stop命令来停止服务,但我无法自动判定我程序当前的pid号,只能通过ps手动获取pid,所以我无法通过stop命令来停止服务,我请问一下如何获取程序的pid号,就好像/var/run/下的httpd.pid等文件一样,并能够自己写一个stop语句来停止服务,谢谢

[root@test7 run]# more /var/run/httpd.pid
2934
发表于 2005-1-10 16:23:26 | 显示全部楼层
既然是你们自己写得程序 PidFile 要看你们的程序是否生成了
你可以用ps -aux|grep pro_name 找出他得pid
回复

使用道具 举报

发表于 2005-1-12 14:23:30 | 显示全部楼层
ps -ef| grep 进程名|grep -v grep | awk '{print $2}'
回复

使用道具 举报

发表于 2005-1-12 16:29:35 | 显示全部楼层
用/sbin/pidof
回复

使用道具 举报

发表于 2005-1-13 00:33:39 | 显示全部楼层
也可以写一个类似httpd的脚本,在脚本中touch /var/lock/subsys/program。
然后在status或者stop中去检测这个文件。
回复

使用道具 举报

发表于 2005-1-15 11:55:58 | 显示全部楼层
getpid
回复

使用道具 举报

发表于 2005-1-17 09:02:16 | 显示全部楼层
getpid是linux的系统调用
回复

使用道具 举报

发表于 2005-1-17 15:53:06 | 显示全部楼层
在function中??(忘记了)也定义了这样的一个函数,可以得到进程的id,根据名子

找找吧,我也忘记了

当然getpid 的系统调用也是对的
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-10-6 16:21 , Processed in 0.046467 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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