我在 debian squeeze 下运行,需要以非常特定的格式获取进程列表。进程按以下方式启动:
/$script -- $param
下面我将把 $script 称为“test.sh”,所以它看起来像这样:
/test.sh -- 99
我需要找到所有这些进程的 pid 列表+它们的第一个 argv 参数(始终只有一个 argv 参数):
$pid | $argv
我发现ps可以使用标志-o以用户格式输出进程列表,暂时我的解决方案是:ps -C script.sh -o pid,command=
,返回以下内容:
6660 /bin/sh /var/www/test.sh -- 15
7012 /bin/sh /var/www/test.sh -- 18
7041 /bin/sh /var/www/test.sh -- 19
7541 /bin/sh /var/www/test.sh -- 16
7741 /bin/sh /var/www/test.shq -- 1
是否可以以某种方式显示此输出?
6660 15
7012 18
7041 19
7541 16
7741 1
要切割的管道应该可以解决问题:
ps -C script.sh -o pid,command= | cut -d' ' -f 1,5
我是一名优秀的程序员,十分优秀!