c - 如何从c程序中检索其procees id的进程状态?

标签 c linux

我必须检索进程状态(进程是正在运行还是已停止),其进程 ID 是从我的 C 程序(我使用的是 Linux)中给出的。我计划使用 exec 命令 并写在下面的声明中

execv("ps -el|grep |awk '{print $2}'",NULL);

但它没有给我想要的输出。

请让我知道我哪里错了。

最佳答案

/proc/<pid>/stat中的第三个字段包含进程状态:R如果它正在运行,S如果它正在休眠(还有其他一些,例如 D 表示磁盘等待,Z 表示僵尸)。

关于c - 如何从c程序中检索其procees id的进程状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501573/

相关文章:

c - 处理器寄存器 - 应用程序变量关联

c - 如何使用 execve 将参数(这是命令而不是文件名)传递给新 shell?

在Linux中编译C代码

linux - 仅当 bash 中存在时,如何从文件中删除 header ?

c - unix 线程中的 'detach' 是什么意思?

c - 在 fscanf 中匹配两个以 = 作为分隔符的字符串

c - 如果在运行时之前不知道它们的数量,如何使用 POSIX C 线程?

c - 对于每个整数,它映射到什么字符?

c - For 循环运行的时间比指定的时间长?

linux - 无法删除设备/dev/loop0