我在C中工作并使用以下代码执行ps
linux命令:
char *const parmList[] = {"ps","-o","pid","-g",processGroupID,NULL};
execvp(parmList[0], parmList);
问题在于它打印了组中的所有进程,包括已终止的进程。我需要确保已经终止 NOT 的群组流程是唯一显示的群组流程。有没有办法做到这一点?
答案 0 :(得分:1)
ps
命令显示当前tty终端的活动进程列表。
ps - axrgo pid
或ps -axro pid -g
ps
有一个简单的流程选择选项。
-a
------->选择除会话负责人和与终端无关的进程之外的所有进程。即包括所有有源终端
-e
------->包括所有流程。
-g
------->按会话或有效组名选择。
-r
------->将选择限制为仅运行进程。
-x
------->选项导致ps列出您拥有的所有进程(与ps相同的EUID),或者在与a选项一起使用时列出所有进程。
答案 1 :(得分:0)
添加a x r
选项以仅获取正在运行的进程。