El comando killall envía cualquier señal especificada, o la señal de finalización predeterminada, a todos los procesos que coincidan con el nombre especificado. Similar a pkill pero tiene algunas diferencias funcionales, como hacer coincidir exactamente los nombres de los procesos. Esta es la sintaxis:
# killall [-u user] [-signal] name...
Para demostrarlo, iniciaremos un par de instancias del programa de suspensión y luego las terminaremos.
$ sleep 500 & [1] 18801 $ sleep 600 & [2] 18802
$ killall sleep [1]- Terminated sleep [2]+ Terminated sleep
Recuerda, como con matar; debe tener privilegios de superusuario para enviar señales a procesos que no le pertenecen.
Si encuentra el siguiente error mientras ejecuta el comando killall:
killall: command not found
puede instalar el siguiente paquete según su elección de distribución:
Distribución del sistema operativo | Comando |
---|---|
Debian | apt-get install psmisc |
Ubuntu | apt-get install psmisc |
Alpino | apk agregar pmisc |
Arco Linux | pacman -S pmisc |
Kali Linux | apt-get install psmisc |
Cent OS | yum instalar psmisc |
Fedora | dnf instalar pmisc |
Raspbian | apt-get install psmisc |
Ejemplos de comandos killall
1. Para eliminar todos los comandos especificados:
# killall
2. Para enumerar todas las señales conocidas:
# killall -l # killall --list
3. No se queje si no se canceló ningún proceso:
# killall -q # killall --quiet
4. Para enviar la señal especificada en lugar de SIGTERM:
# killall -s 9 bash # killall --signal 9 bash
5. Para eliminar procesos propiedad de un usuario en particular:
# killall -u mike
6. Para configurar el modo detallado:
# killall -v # killall --verbose
7. Para mostrar la versión:
# killall -V # killall --version
8. Para especificar esperar a que mueran todos los procesos eliminados:
# killall -w # killall --wait
9. Para eliminar procesos con un contexto de seguridad específico:
# killall -Z # killall --context
10. Solicite confirmación de manera interactiva antes de la terminación:
# killall -i process_name
11. Termine un proceso usando la señal SIGINT (interrupción), que es la misma señal que se envía presionando `Ctrl + C`:
# killall -INT process_name
12. Forzar la finalización de un proceso:
# killall -KILL process_name
Conclusión
Los comandos que se usan a menudo junto con ps son kill y killall. Al ejecutar ps, vimos que hay una columna que muestra PID, abreviatura de ID de proceso. Si un proceso no se ejecuta correctamente, se bloquea o simplemente queremos finalizarlo, una forma es usar el comando matar. Simplemente pásele el PID, por ejemplo, dado un PID de 123:
# kill 123
Si desea hacer coincidir el proceso por nombre en lugar de PID, puede usar killall, por ejemplo, si Firefox se congeló y queríamos forzar el cierre:
# killall firefox