好的,我将在同一个 VPS 上运行两个 Java 应用程序,其中一个将几乎一直运行。另一个则不需要。我想知道是否有办法根据 Java 的 jar 名称将其终止,这也将通过 php 使用 Net/SSH2 完成
目前 echo $ssh->exec('killall -e java'); 但这也会杀死其他 java 应用程序
答案1
关于如何做到这一点,有很多种选择。
我的建议是使用-f
标志来pkill
搜索文件的进程名称.jar
。
例如:
pkill -9 -f my-application.jar
这将通过进程名称来搜索my-application.jar
。
预计到达时间:
您还可以使用 来测试将抓取哪些进程pgrep
。pgrep
它是姊妹命令pkill
,接受大多数相同的 CLI 标志,但它不会终止命令,而只是打印有关匹配的信息。
在你的情况下你应该运行
pgrep -f my-application.jar
看看它是否返回您的应用程序的 PID。