Скрипт оболочки, чтобы остановить явскую программу

Есть ли способ остановить явское управление программы, используя скрипт оболочки, зная одно только имя. Я применяю раковину ksh

11
задан Harish 25 January 2010 в 11:26
поделиться

5 ответов

Добавьте уникальное свойство JVM, чтобы легко идентифицировать его, например, Для Test.Class

java -Duniquename=1 test

убить его:

ps ax | grep uniquename | grep -v grep | awk '{print $1}' | xargs kill
6
ответ дан 3 December 2019 в 02:40
поделиться

Под давлением Mnementh 'Seartion :

Это должно сделать работу

jps -l | grep org.example.MyMain | cut -d ' ' -f 1 | xargs -rn1 kill
  • JPS -L : список Java-процесса с помощью «полного имени пакета для основного класса приложения или полной Имя пути к файлу JAR приложения. «

  • GREP : Выберите процесс, который вам нравится

  • Cut -D - '-F 1 : разделить вывод в столбцы, используя только разделитель' 'и печатать только Первый (PID)

  • KARGS -RN1 Убить : Выполните убить для каждого PID (если есть)

Обратите внимание, что вы должны запускать jps и xargs с тем же пользователем (или root), как вы Запуск процесса

20
ответ дан 3 December 2019 в 02:40
поделиться

Вы можете использовать JPS, идентифицирующие идентификацию процесса, связанного с именем начальной Java-программы (JPS - это процесс-менеджер для Java-программ). С помощью этого идентификатора вы можете нормально убить процесс.

3
ответ дан 3 December 2019 в 02:40
поделиться

Вы можете использовать PKILL:

pkill your_java_program_name

Это будет работать, если запустите только один экземпляр вашей программы.

1
ответ дан 3 December 2019 в 02:40
поделиться

Вы можете использовать опцию PS, чтобы отформатировать свой вывод,

ps -eo cmd,pid | awk '!/awk/&&/mycommand/{cmd="kill -9 "$2;system(cmd)}'
1
ответ дан 3 December 2019 в 02:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: