bash - 如何在 bash 中快速杀死 java 进程?

标签 bash kill

在 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/

相关文章:

linux - 谁在等待 shell 后台进程?

mysql - 通过 brew 安装了 mysql,但终端找不到它。在 macOS 上给它起别名的正确方法是什么?

带有 shell 提示符的 python 命令行界面

ruby - 我怎样才能杀死一个正在重新初始化自己的进程?

ubuntu - 如何在 Linux 中杀死一个 nodejs 进程?

ubuntu - 按名称杀死 Ubuntu 中的进程

bash - done < {filename} 在 while 循环中

Linux:在用户已准备好输入名称的文本文件中搜索字符串

Linux - 按路径杀死进程

bash - 如何阻止信号杀死我的 Bash 脚本?