如何查找进程是否在C中运行?

Kit*_*cha 9 c linux process

我想知道一个进程是否正在运行.我不想使用任何系统("")命令.是否有任何基于C的函数可以让您知道进程是否正在运行?

我想提供进程名称,并想知道它是否正在运行.

谢谢,

Ker*_* SB 11

当然,使用kill(2):

 #include <sys/types.h>
 #include <signal.h>

 int kill(pid_t pid, int sig);
Run Code Online (Sandbox Code Playgroud)

如果sig为0,则不发送信号,但仍然执行错误检查; 这可用于检查是否存在进程ID或进程组ID.

因此,只需调用kill(pid, 0)要检查的进程的进程ID,并查看是否出现错误(ESRCH).