如何在htop上仅显示进程及其后代进程?

bec*_*cko 11 htop

我只想监视一个进程及其子进程htop。过滤父进程的名称只列出父进程,而不是它的子进程。我如何也显示子进程?

vin*_*c17 11

在 Linux 下,您可以执行以下操作:

htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
Run Code Online (Sandbox Code Playgroud)

$PID根进程在哪里。其工作原理如下:

  1. 所需进程的列表通过 获得pstree,使用-p选项列出它们及其 PID。
  2. 输出通过管道传送到 Perl 脚本,该脚本使用正则表达式(此处为\((\d+)\))检索 PID ,并以逗号分隔输出它们。
  3. 此列表作为 的参数提供htop -p

对于 Mac OS 等其他操作系统,您可能需要调整检索 PID 的正则表达式。

注意:很遗憾,无法使用稍后产生的新子项更新列表,因为一旦htop执行,就不能做任何其他事情。这是htop(当前版本:2.0.2)的限制。

  • 这不会在新孩子产生时更新……我很想用它来监视我的 tmux 会话中的东西 (5认同)