【问题标题】:Linux Command Outputs Terminated ProcessesLinux 命令输出终止的进程
【发布时间】:2015-09-27 23:48:07
【问题描述】:

我正在使用 C 语言并使用以下代码执行ps linux 命令:

char *const parmList[] = {"ps","-o","pid","-g",processGroupID,NULL};
execvp(parmList[0], parmList);

问题在于它会打印组中的所有进程,包括已终止的进程。我需要确保未被终止的组进程是唯一显示的。有没有办法做到这一点?

【问题讨论】:

    标签: c linux process exec ps


    【解决方案1】:

    ps 命令显示当前 tty 终端的活动进程列表。

    ps - axrgo pid 或 ps -axro pid -g

    ps 有一个简单的进程选择选项。

    -a -------> 选择除会话领导者和与终端无关的进程之外的所有进程。即包括所有活动终端

    -e --------> 包括所有进程。

    -g -------> 按会话或有效组名选择。

    -r -------> 将选择限制为仅正在运行的进程。

    -x -------> 选项使 ps 列出您拥有的所有进程(与 ps 相同的 EUID),或者与 a 选项一起使用时列出所有进程。

    【讨论】:

    • 是否有同时显示正在运行和暂停但未终止的?
    【解决方案2】:

    添加a x r 选项以仅获取正在运行的进程。

    【讨论】:

      猜你喜欢
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 2012-10-29
      • 2016-01-12
      • 1970-01-01
      • 2011-08-02
      • 2019-01-06
      相关资源
      最近更新 更多