我有一个用C#编写的程序,使用Mono在Linux上运行。该程序将其PID写入文件中。现在我想在启动时检查是否存在具有此PID的进程。是否可以使用Mono实现?如果不行,如何使用标准的Linux函数/工具来完成这个任务?或者我必须检查/proc/PID/cmdline吗?
你还可以检查目录/proc/$PID是否存在(无需执行系统命令)。应该适用于Linux,不知道其他Unix版本是否适用。还有一个方法:System.Diagnostics.Process.GetProcessById(int id),如果给定ID的进程未运行,则应抛出异常。不知道它在Mono上是否可用。