如何检查具有给定PID的进程是否正在运行?

时间:2011-01-10 13:26:21

标签: .net linux process mono pid

我有一个用C#编写的程序,使用Mono在Linux上运行。程序将其PID写入文件。现在我想检查一下这个PID在启动时运行的过程。有没有办法使用Mono?如果没有,我如何使用标准的Linux功能/工具来实现这一目标?或者我是否必须检查/ proc / PID / cmdline?

2 个答案:

答案 0 :(得分:2)

标准功能是运行kill -0 PID以查看进程是否正在运行并检查退出代码,0函数正在运行。

答案 1 :(得分:1)

您还可以检查目录/ proc / $ PID是否存在(无需执行系统命令)。应该在Linux上工作,如果在其他版本的Unix上则不知道。

还有:System.Diagnostics.Process.GetProcessById(int id) 如果具有给定id的进程未运行,则应抛出异常。 Dunno,如果它适用于Mono。