如何在bash中快速杀死java进程?
在Linux机器上,我最多运行3个java jar文件。我如何用一个命令快速杀死所有3个?如何在bash中快速杀死java进程?
通常我会:
PS前 - 让进程运行
然后找到进程ID然后执行:
杀-9 #### #### ####
有什么办法缩短这个过程?我的眼睛因眯眼寻找过程标识而受到伤害。
我的脚本执行以下操作:
nohup ./start-gossip &
nohup ./start &
nohup ./start-admin &
有没有办法让每一个进程ID不看它呢?
您可以在启动过程时保存PID,以便稍后使用它们:
nohup ./start-gossip &
START_GOSSIP_PID=$!
nohup ./start &
START_PID=$!
nohup ./start-admin &
START_ADMIN_PID=$!
...
kill -9 $START_GOSSIP_PID
kill -9 $START_PID
kill -9 $START_ADMIN_PID
这样做的优点是(不超过pkill
)不会杀死任何其他巧合地具有相似名称的进程。如果你不想执行从脚本本身kill操作,而只是想拥有的PID得心应手,其写入文件(从脚本):
echo $START_GOSSIP_PID > /some/path/start_gossip.pid
甚至你的时候只是这样做启动过程,而不是将PID保存到变量:
nohup ./start-gossip &
echo $! > /some/path/start_gossip.pid
。早在2013年,newb程序员。这就是我现在使用的。当然,我将我的pid保存到/ tmp – iCodeLikeImDrunk 2016-10-17 14:59:26
简短的回答:
pkill java
这看起来一个进程(或者进程)的名字将其杀死。这也会发现其他java
进程,所以要小心。它也接受,但你应该避免使用,除非真的损坏。
编辑:根据更新
,您可以指定脚本名称pkill
以及(我还不能肯定)。但是,处理这个问题的更传统的方式是将pid文件留下。在你开始一个新的过程和背景之后,它的pid可以在$!
中找到。如果你把这个pid写到一个文件中,那么很容易检查这个进程是否仍在运行,并简单地杀死你的进程。但是,有一些机会可以重新使用pid。
这个看起来不错,但是我想我必须小心谨慎,因为它会杀死所有的java .. – iCodeLikeImDrunk 2013-03-19 19:11:43
如果你不确定,有一个相应的'pgrep'命令,您可以使用它来首先查找pids。 – FatalError 2013-03-19 19:13:52
真棒!你这是一种结合这些命令的方式吗?像“kill -9 pgrep java”的东西?但后来我可以使用pkill命令..嗯... – iCodeLikeImDrunk 2013-03-19 19:19:47
为了让你想杀死并运行
杀的人这一过程的是java程序运行
netstat的-tuplen
进程ID(PID)的进程ID - 9 PID
“斜视” - 较大的字体。 – 2013-03-19 19:21:18
字体足够大,只要我使用“ps ex” – iCodeLikeImDrunk 2013-03-19 19:24:31