Introducción
En este tutorial, aprenderemos cómo usar los comandos ps, grep, awk, xargs y kill para finalizar todos los procesos que contengan una palabra específica. Además, aprenderemos cómo usar los operadores de canalización (|) y lógicos (&&) para combinar estos comandos y redirigir la salida a un archivo.
Paso 1: Listar todos los procesos en ejecución
El primer paso es listar todos los procesos en ejecución. Para hacer esto, usamos el comando ps aux. Este comando nos da mucha información sobre cada proceso, como el usuario que lo inició, el PID (ID del proceso), el uso de CPU y memoria, y el comando que inició el proceso.
ps aux
Paso 2: Filtrar los procesos
El siguiente paso es filtrar los procesos que contienen una palabra específica. En este ejemplo, filtraremos todos los procesos que contienen la palabra ‘firefox’. Para hacer esto, usamos el comando grep ‘firefox’.
ps aux | grep 'firefox'
Paso 3: Extraer el PID de cada proceso
Ahora que tenemos la lista de los procesos que queremos terminar, necesitamos extraer el PID de cada uno de ellos. Para hacer esto, usamos el comando awk ‘{print $2}’.
ps aux | grep 'firefox' | awk '{print $2}'
Paso 4: Terminar los procesos y guardar la salida
Finalmente, terminamos cada proceso y guardamos la salida en un archivo. Para hacer esto, usamos los comandos xargs kill -9 y > killed_processes.txt.
ps aux | grep 'firefox' | awk '{print $2}' | tee killed_processes.txt | xargs kill -9
En este caso, xargs kill -9 envía una señal para terminar cada proceso y > killed_processes.txt guarda la salida (los PID de los procesos terminados) en un archivo llamado killed_processes.txt. Además, usamos el operador && para asegurarnos de que solo se ejecute xargs kill -9 si los comandos anteriores se ejecutan con éxito.
También podríamos hacerlo con el comando killall -KILL firefox