通过手册页,我希望它能工作:
ps ah -o pid,pgrp -G 18322
Run Code Online (Sandbox Code Playgroud)
但这显示了与没有 -G 参数时完全相同的列表。我想要一种更明智的方式来产生此输出:
ps ah -o pid,pgrp | perl -e 'while(<STDIN>){ my @ws = split " ", $_; if ($ws[1] eq $ARGV[0]) { print $ws[0]."\n" } }' 18322
Run Code Online (Sandbox Code Playgroud)
(感谢 #perl 上的 mst 提供的 perl-fu)
这是一个更传统的命令行版本(再次感谢 mst),但仍然有点尴尬。$process_group 需要预先设置:
ps ah -o pgrp,pid | egrep '^'$process_group' ' | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)