Por ejemplo, a veces, cuando intento iniciar Firefox, dice que ya se está ejecutando un proceso de Firefox. Así que tengo que hacer esto:¿Cómo puedo matar un proceso por nombre en lugar de PID?
[email protected]:~$ 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
[email protected]:~$ kill 7451
Lo que me gustaría es un comando que hiciera todo eso por mí. Se necesitaría una cadena de entrada y grep para él (o lo que sea) en la lista de procesos, y mataría a todos los procesos en la salida:
[email protected]:~$ killbyname firefox
He intentado hacerlo en PHP, pero exec ('ps aux') parece que sólo los procesos muestran que se han ejecutado con exec() en el script PHP en sí (por lo que el único proceso que muestra es en sí)
Cuando aparece la ventana que dice que Firefox ya se ejecuta, normalmente solo tengo que esperar un segundo y puedo ejecutar Firefox nuevamente (por supuesto, puede no ser siempre el caso). – nuoritoveri
Esta es la manera más segura que JohnB dice en esta respuesta: http://stackoverflow.com/questions/6381229/how-to-kill-all-processes-matching-a-name/19733066#19733066 – tecnoshopbq
Posible duplicado de [Buscar y eliminar un proceso en una línea usando bash y regex] (http://stackoverflow.com/questions/3510673/find-and-kill-a-process-in-one-line-using-bash-and-regex) – tripleee