$ ps -ef | grep python | awk -F' ' '{print $2}'
9825
4470
4619
$ htop -p 9825,4470,4619
现在,我必须制作两个单独的命令才能观察htop
中的所有python进程。有没有办法可以管道awk
的所有结果并将它们输入htop
?
答案 0 :(得分:1)
您可以避免grep
并仅使用awk
使用类似的内容:
ps -ef | awk '/[p]ython/{print $2}'
然后你可以使用:
htop -p $(ps -ef | awk -v ORS=, '/[p]ython/{print $2}')
注意[]
周围的p
,这是避免打印第二个命令的好方法:
ps -ef | awk '/[p]ython/{print $2}'
| |
cmd 1 cmd 2
它的工作原理是因为awk
会将正则表达式[p]
翻译成"匹配来自[p]
的字符,在这种情况下只匹配p
,然后跟{ {1}}:
ython
答案 1 :(得分:1)
如果你有pgrep
(你可能会这样做):
htop -p $(pgrep python | paste -sd,)