如何查看进程是否在运行

请问大家,如何用C实现 查看某个程序是否在运行。 给点思路

谢谢
----

Author: gotop167    Posted: 2005-02-23 17:16    Length: 95 byte(s)
[Original] [Print] [Top]
两个办法
1.看ps代码,得到你想要的
2.写个模块,从进程PCB中比较文件名即可知道!
[Original] [Print] [Top]
Subject: Re: 如何查看进程是否在运行
Author: h_falls    Posted: 2005-02-23 23:50    Length: 73 byte(s)
[Original] [Print] [Top]


用一个父进程fork你的binary, 父进程去写pid ,然后退出
[Original] [Print] [Top]
Subject: Re: 如何查看进程是否在运行
Author: LockTime    Posted: 2005-02-24 12:06    Length: 45 byte(s)
[Original] [Print] [Top]
真的非常感谢大家。谢谢。

----
珍惜时间,留住今天.
[Original] [Print] [Top]
Subject: Re: 如何查看进程是否在运行
Author: whone23    Posted: 2005-02-24 15:49    Length: 52 byte(s)
[Original] [Print] [Top]
加入Ctrl+C中断程序,没有删掉原来生成的pid文件怎么办
[Original] [Print] [Top]
Subject: Re: 如何查看进程是否在运行
Author: h_falls    Posted: 2005-02-24 16:55    Length: 228 byte(s)
[Original] [Print] [Top]
你检查 foo.pid 的时候,不能只看foo.pid文件是否存在就判断程序是否在运行啊

还要检查其内容,比如其内容是132, 你就要看 132这个进程是否存在,如果存在,其 /proc/132/cmd /proc/132/exe 的值是否是正确的... 诸如此类。
 
[Original] [Print] [Top]
Subject: Re: 如何查看进程是否在运行
Author: TecHunter    Posted: 2005-02-25 01:28    Length: 81 byte(s)
[Original] [Print] [Top]
好像一般的pid文件建立起来写入pid之后应该马上unlink掉,这样Ctrl+C退出也会自动删除的

你可能感兴趣的:(如何查看进程是否在运行)