lues 发表于 2005-1-10 15:38:24

如何得到程序的pid号

我们公司自己写了一些程序在linux下跑,现在我想把这些程序作为系统服务来跑,并能够通过stop命令来停止服务,但我无法自动判定我程序当前的pid号,只能通过ps手动获取pid,所以我无法通过stop命令来停止服务,我请问一下如何获取程序的pid号,就好像/var/run/下的httpd.pid等文件一样,并能够自己写一个stop语句来停止服务,谢谢

# more /var/run/httpd.pid
2934

lxn_cjs 发表于 2005-1-10 16:23:26

既然是你们自己写得程序 PidFile 要看你们的程序是否生成了
你可以用ps -aux|grep pro_name 找出他得pid

fryrice 发表于 2005-1-12 14:23:30

ps -ef| grep 进程名|grep -v grep | awk '{print $2}'

KanKer 发表于 2005-1-12 16:29:35

用/sbin/pidof

零二年的夏天 发表于 2005-1-13 00:33:39

也可以写一个类似httpd的脚本,在脚本中touch /var/lock/subsys/program。
然后在status或者stop中去检测这个文件。

updatedb 发表于 2005-1-15 11:55:58

getpid

firemoth 发表于 2005-1-17 09:02:16

getpid是linux的系统调用

updatedb 发表于 2005-1-17 15:53:06

在function中??(忘记了)也定义了这样的一个函数,可以得到进程的id,根据名子

找找吧,我也忘记了

当然getpid 的系统调用也是对的
页: [1]
查看完整版本: 如何得到程序的pid号