(12 respuestas)
Cerrado hace 5 años.
Necesito eliminar un proceso que contiene myName
en su descripción. Actualmente estoy haciendo:
ps -ax |grep myName
I see PID
kill -9 PID
¿Cómo puedo hacer lo mismo con un comando sin ingresar el PID?
Respuesta aceptada:
Si myName
es el nombre del proceso/ejecutable que desea eliminar, puede usar:
pkill myName
pkill
por defecto envía el SIGTERM
señal (señal 15). Si quieres el SIGKILL
o señal 9, usa:
pkilll -9 myName
Si myName
no es el nombre del proceso o, por ejemplo, es un argumento para otro comando (largo), pkill
(o pgrep
) podría no funcionar como se esperaba. Entonces necesitas usar -f
opción. De man kill
:
-f, --full
The pattern is normally only matched against the process name.
When -f is set, the full command line is used.
NOTES
The process name used for matching is limited to the 15 characters present
in the output of /proc/pid/stat. Use the -f option to match against the
complete command line, /proc/pid/cmdline.
Entonces:
pkill -f myName
o
kill -9 $(pgrep -f myName)