Я запускаю несколько процессов на одном сервере с ssh в cmd, так как остановить эти процессы за один раз? А также избежать выхода из системы на этом сервере?

Вот команда:

java -jar test.jar 9001 **.***.**.** 9001
java -jar test.jar 9001 **.***.**.** 9002
java -jar test.jar 9001 **.***.**.** 9003
java -jar test.jar 9001 **.***.**.** 9004

Я использую killall5 может завершить все процессы, но он выйдет из сервера в то же время ...

1 ответ1

1

Не используйте killall5 для этой цели. На странице руководства говорится

Его основное (единственное) использование - в сценариях rc, находящихся в каталоге /etc/init.d

Вместо этого вы должны использовать

killall java

убивать только процессы с java в их имени.

Если могут быть java-процессы, которые вы не хотите убивать, вы можете использовать pgrep -l [search pattern] чтобы получить именно те процессы, которые вы хотите убить (-l показывает также имена процессов, а не только PID), а затем использовать pkill с тем же шаблоном поиска.

Например

pgrep -l "fire|chrom"

дает (в моем случае) все процессы firefox и chromium . А также

pkill "chrom"

убивает все мои хромовые процессы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .