pasando un '-9' al comando xargs kill

pasando un '-9' al comando xargs kill

Estoy escribiendo un script para detener una aplicación. A veces la aplicación no quiere detenerse. Entonces, después de una pausa de varios minutos, si la aplicación aún se está ejecutando, quiero cerrarla. Después de varios fallos del comando kill, intenté agregar el -9 para forzar su detención. Esto no parece funcionar. ¿Alguien sabe cómo puedo hacer que esto funcione? Incluso si necesito usar un comando diferente, estoy abierto a cosas nuevas. :-)

La siguiente es mi línea de comando:

ps -ef|grep -v grep|grep <process_name>|awk -F' ' '{print $2}' |xargs kill -9

Gracias de antemano.

Respuesta1

Ejemplo de cómo cerrar phpprocesos por lotes. phppuedes reemplazar usando el nombre que tenga tu proceso:

ps -aux | grep php | awk '{print $2}' | xargs kill -9

Respuesta2

@muru tenía razón, pero últimamente descubrí que es preferible usar la opción '-f' para pkill. Coincide con todo el proceso y la lista de argumentos. Aquí tenemos algunos servidores que ejecutan procesos Tomcat y Logstash (envío de datos a Elastic). Entonces, 'kill -9 java' para detener el proceso Tomcat también mata el proceso Logstash.

pkill -9 -f 'pattern to match'

Ejemplo:

pkill -9 -f '/opt/tomcat/'

información relacionada