Em vez de usar ps e grep , você pode usar ps ' -C flag para selecionar todos os comandos listados com o nome' java '. Você também pode usar o ps -f flag para imprimir o nome completo do comando de cada processo listado. Dessa forma, você pode ver o que cada processo java está realmente fazendo. Aqui está o comando completo: ps -fC java .
Você também pode usar pgrep para listar todos os processos Java. pgrep -a java retornará o PID e a linha de comando completa de cada processo java.
Quando você tiver o PID do comando que deseja matar, use kill com o sinalizador -9 (SIGKILL) e o PID do processo java que você deseja eliminar. Java nem sempre para quando recebe um sinal 'SIGTERM' (processos são permitidos para lidar com 'SIGTERM'), então enviar o sinal 'SIGKILL', que faz o init matar o programa sem avisá-lo primeiro, é freqüentemente necessário. / p>
Por exemplo, se ps -fC java retornar
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
ou psgrep -a java retornam
9014 java IDE
11775 java TestProgram
e você deseja matar java TestProgram , você deve executar kill -9 11775 .