Shell脚本用于杀死具有最高PID的进程

时间:2014-05-29 12:14:26

标签: linux shell

我想通过shell脚本杀死特定的java进程。

我知道kill -9 $(pidof java)会杀死它,但它也会杀死所有其他java进程。我知道我想要杀死的java进程是最后一个启动的进程。

因此,如果我使用pidof java,我将检索一组PID,如何将其分配给列表(或类似的)并获取它的最后一个元素?

由于

1 个答案:

答案 0 :(得分:2)

我是Shell脚本的新手,但这是我的解决方案:

kill -9 `ps aux | grep [j]ava | awk '{ print $2 }' | sort -nr | head -n 1`
  • ps aux打印当前进程
  • grep [j]ava查找内部包含“java”的进程,当前grep命令除外
  • awk { print $2 }检索ps的第二列,即pid
  • sort -nr按降序排序输出(n用于数字)
  • head -n 1获取已排序的pids的第一行,这是最高的