在 linux 机器上,我最多运行 3 个 java jar 文件。如何用一个命令快速杀死所有 3 个?
通常我会:
ps ex - 让进程运行
然后找到进程ID然后做:
kill -9 #### #### ####
有什么方法可以缩短这个过程?我眯着眼睛寻找进程 ID,眼睛疼。
我的脚本执行以下操作:
nohup ./start-gossip &
nohup ./start &
nohup ./start-admin &
有没有办法在不查找的情况下获取每个进程的 ID?
最佳答案
简答:
pkill java
这会查找一个(或多个)进程以按名称终止。这也会找到任何其他 java
进程,所以要小心。它还接受 -9
,但您应该避免使用 -9
,除非某些东西真的坏了。
编辑:
根据更新,您也可以将脚本名称指定为 pkill
(我不是肯定的)。但是,处理此问题的更传统方法是保留 pid 文件。在启动一个新进程并将其置于后台后,它的 pid 在 $!
中可用。如果将该 pid 写入文件,则很容易检查该进程是否仍在运行并仅终止您想要的进程。但是,pid 有可能被重用。
关于bash - 如何在 bash 中快速杀死 java 进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15508307/