Вместо того чтобы использовать ps
и grep
, вы можете использовать ps
«s -C
флаг , чтобы выбрать все команды , перечисленные с именем„Java“. Вы также можете использовать ps
«s -f
флаг , чтобы напечатать полное имя команды каждый из перечисленного процесса. Таким образом, вы можете увидеть, что на самом деле делает каждый Java-процесс. Вот команда в полном объеме: ps -fC java
.
Вы также можете использовать, pgrep
чтобы перечислить все процессы Java. pgrep -a java
вернет PID и полную командную строку каждого процесса Java.
Когда у вас есть PID команды, которую вы хотите убить, используйте kill
с -9
флагом (SIGKILL) и PID процесса Java, который вы хотите убить. Java не всегда останавливается, когда получает сигнал 'SIGTERM' (процессам разрешено обрабатывать 'SIGTERM'), поэтому отправка ему сигнала 'SIGKILL', который заставляет init завершить работу программы без предварительного предупреждения, часто необходима.
Например, если ps -fC java
возвращает
UID PID PPID C STIME TTY TIME CMD
jeff 9014 8890 0 08:51 pts/0 00:00:00 java IDE
jeff 11775 8890 6 08:59 pts/0 00:00:00 java TestProgram
или psgrep -a java
возвращается
9014 java IDE
11775 java TestProgram
и ты хочешь убить java TestProgram
, ты должен бежать kill -9 11775
.
top
илиps
), выберите правильную и уничтожьте ее с помощью PID (kill -9 PID_number).