我使用这个命令来获得另一个命令的进程ID:ps aux | grep的返回PID为自己太
ps aux | grep 7000.conf | awk '{print $2}'
这将返回两个PID:
7731
22125
我只想要第一个。第二个是上述命令中的grep
的PID。在此先感谢任何知道如何修改上述命令以返回第一个pid的人。
p.s.开到一个新的命令,做同样的事情
我使用这个命令来获得另一个命令的进程ID:ps aux | grep的返回PID为自己太
ps aux | grep 7000.conf | awk '{print $2}'
这将返回两个PID:
7731
22125
我只想要第一个。第二个是上述命令中的grep
的PID。在此先感谢任何知道如何修改上述命令以返回第一个pid的人。
p.s.开到一个新的命令,做同样的事情
在这种特殊情况下,逃避.
什么,我认为它是为了做应该工作:
ps aux | grep '7000\.conf' | awk '{print $2}'
另外,排除grep
:
ps aux | grep 7000.conf | grep -v grep | awk '{print $2}'
ps aux | grep "[7]000.conf"
也可以。
这很酷。你能解释它是如何工作的吗? – DiegoSalazar
查看http://stackoverflow.com/a/9375940/2599522获取解释;) – user2599522
使用'ps aux | grep -v'7000.conf'。不需要双grep也不awk。 -v只是“在做grep时从结果中删除自己”。 – erm3nda
@ erm3nda:'-v'意思是“反转匹配”,这样在使用'7000.conf'的时候就不会找到你要找的东西 - 它会找到其他所有进程。 'awk'也是原始问题的一部分,与删除'grep'(它从行中提取pid)无关。所以不行。 – Ryan
你说得对。谢谢。 – erm3nda