Хорошо, я собираюсь запустить два java-приложения на одном VPS, одно будет работать почти все время. Другой быть не нужно. Мне интересно, можно ли убить java на основе имени jar, также это будет сделано через php с использованием Net / SSH2
в настоящее время echo $ ssh-> exec ('killall -e java'); но это убьет и другое Java-приложение
Есть очень много вариантов, как это сделать.
Моя рекомендация - использовать -f
флаг от pkill
для поиска по имени процесса для вашего .jar
файл.
Например:
pkill -9 -f my-application.jar
Это приведет к поиску имени процесса для my-application.jar
.
ETA:
Вы также можете проверить, какие процессы будут захвачены, используя pgrep
. pgrep
сестра команды pkill
и принимает большинство тех же флагов CLI, но вместо того, чтобы убивать команду, просто выводит информацию о совпадении.
В вашем случае вы бы запустили
pgrep -f my-application.jar
И посмотрите, возвращает ли он PID вашего приложения.