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

标签 c linux process

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

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

谢谢,

最佳答案

当然,使用 kill(2) :

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

 int kill(pid_t pid, int sig);

If sig is 0, then no signal is sent, but error checking is still performed; this can be used to check for the existence of a process ID or process group ID.

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

关于c - 如何查找进程是否在 C 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11785936/

相关文章:

java - 通过 JNA 使用 Xlib 移动窗口

linux - 使用 shell 脚本检查 EOF

c# - 为什么 Process.Start 会产生 ANSI 转义码

c - 给定路径的文件是否存在

c - 指针初始化和两个指针指向同一个地址

C 编程 - 释放一个用单引号填充的字符 ** 和用双引号填充的字符之间的区别 - valgrind

c - 关于重复符号的奇怪 ld 错误

linux - 如何在 shell 脚本中并行运行多个实例以提高时间效率

linux - 谁启动操作系统进程调度程序?

c - 如何确保父进程先于子进程执行scanf()?