我有一個用C#編寫的程序,使用Mono在Linux上運行。該程序將其PID寫入文件。現在我想檢查一下啓動時是否運行此PID。有沒有使用Mono的方法?如果不是,我如何使用標準的Linux函數/工具來完成這個工作?或者我必須檢查/ proc/PID/cmdline?如何檢查給定PID的過程是否正在運行?
5
A
回答
2
標準功能是運行kill -0 PID
以查看進程是否正在運行並檢查退出代碼,0函數是否正在運行。
1
您還可以檢查/ proc/$ PID目錄是否存在(不需要執行系統命令)。應該在Linux上工作,不知道是否在其他類型的Unix上。
還有:System.Diagnostics.Process.GetProcessById(int id)
如果沒有運行給定id的進程,它應該會拋出異常。不知道它是否適用於單聲道。