获取pkill杀死的所有进程的PID?

我在做:

pkill -9 -f stringMatch 

如果成功或者不成功,则将任何内容发送到STDOUT。 任何人都可以提出一种便携的方式来返回被杀死的进程的PID?

man页:

 EXIT STATUS 0 One or more processes matched the criteria. 1 No processes matched. 2 Syntax error in the command line. 3 Fatal error: out of memory etc. 

那么基于$? ,退出码,你可以知道是否有任何进程被杀害(“成功”),或不。 你不能知道细节。 所以如果你想知道PID被杀死了,你唯一的选择就是获得进程列表,循环并逐个杀掉,例如:

 for pid in $(pgrep stringMatch); do kill $pid && echo killed $pid || echo could not kill $pid done 

最好的选择是首先使用pgrep获取PID列表,然后使用该列表向kill发送信号。