Shell 使用一条线通过pid终止流程

Shell 使用一条线通过pid终止流程,shell,Shell,我有一个类似关键字的多个进程。我必须一次干掉所有的过程。像 ps -ef |grep raj root 3129 1 0 15:32 ? 00:00:00 /usr/lib/raj/msisdn root 3165 1 0 15:36 ? 00:00:00 /bin/sh /usr/lib/raj/raj-1.sh root 3166 3165 0 15:36 ? 00:00:00 /usr/li

我有一个类似关键字的多个进程。我必须一次干掉所有的过程。像

  ps -ef |grep raj
root      3129     1  0 15:32 ?        00:00:00 /usr/lib/raj/msisdn
root      3165     1  0 15:36 ?        00:00:00 /bin/sh /usr/lib/raj/raj-1.sh
root      3166  3165  0 15:36 ?        00:00:00 /usr/lib/raj/raj-2
root      3170  2236  1 15:36 pts/0    00:00:00 grep raj
我听说这可以用awk来完成。我需要的是一个终止所有进程的线性命令:)

关于:

pgrep -f raj | xargs kill
我建议你跑步

pgrep -f raj | xargs ps
首先,确保您正在终止正确的进程

编辑:如果要使用awk,请尝试:

ps -ef | grep raj | awk '{print $2}' | xargs kill

但是它比pgrep和kill更冗长。

就像单独获取PID并杀死所有这些PID一样。这个问题可能属于serverfault。compkill-9-f raj甚至更短