¿Cómo puedo eliminar un proceso por nombre en lugar de PID en Linux? [duplicar]

Resuelto Paige Ruten asked hace 15 años • 18 respuestas

A veces, cuando intento iniciar Firefox, dice "ya se está ejecutando un proceso de Firefox". Entonces tengo que hacer esto:

jeremy@jeremy-desktop:~$ ps aux | grep firefox
jeremy    7451 25.0 27.4 170536 65680 ?        Sl   22:39   1:18 /usr/lib/firefox-3.0.1/firefox
jeremy    7578  0.0  0.3   3004   768 pts/0    S+   22:44   0:00 grep firefox
jeremy@jeremy-desktop:~$ kill 7451

Lo que me gustaría es un comando que hiciera todo eso por mí. Tomaría una cadena de entrada y greppara ella (o lo que sea) en la lista de procesos, y eliminaría todos los procesos en la salida:

jeremy@jeremy-desktop:~$ killbyname firefox

Intenté hacerlo en PHP pero exec('ps aux')parece que solo muestra procesos que se han ejecutado exec()en el propio script PHP (por lo que el único proceso que muestra es él mismo).

Paige Ruten avatar Oct 02 '08 11:10 Paige Ruten
Aceptado
pkill firefox

Más información: http://linux.about.com/library/cmd/blcmdl1_pkill.htm

shoosh avatar Oct 02 '2008 04:10 shoosh

También es posible utilizar:

pkill -f "Process name"

Para mí funcionó perfectamente. Era lo que estaba buscando. pkill no funciona con el nombre sin la bandera.

Cuando -festá configurado, se utiliza la línea de comando completa para la coincidencia de patrones.

Victor avatar Jan 07 '2015 13:01 Victor