检查C中的运行进程

时间:2011-03-28 14:45:52

标签: c unix

有人可以告诉我如何检查具有给定进程ID的unix进程是否在C程序中运行。我知道我可以调用system()并使用ps命令,但我不想调用system()。

1 个答案:

答案 0 :(得分:30)

使用kill(2)

if (kill(pid, 0) == 0) {
    /* process is running or a zombie */
} else if (errno == ESRCH) {
    /* no such process with the given pid is running */
} else {
    /* some other error... use perror("...") or strerror(errno) to report */
}