Matar todos los procesos de un usuario determinado en GNU/Linux
October 13th, 2008 by BusindrePara matar procesos en sistemas GNU/Linux se suele hacer uso de la orden kill, la cual en su uso "estandar" (kill pid) pide a la aplicación que termine ella sola por medio de una señal TERM, usadas por los programas para cerrarse correctamente, guardando temporales, cerrando ficheros, liberando memoria,.. Cuando el programa se ha colgado 100% y no responde a nuestras peticiones es muy probable que no responda a las señales TERM, en estos casos debemos usar una señal KILL para que el kernel cierre violentamente ese proceso liberando todos los recursos. En este post vamos a ver distintas formas de matar todos los procesos de un usuario determinado, lógicamente como root.
Usando Slay
# slay -9 usuario1 usuario2 ...
# slay -KILL usuario1 usuario2 ...
# slay usuario1 usuario2 ...
Podemos indicarle el numero de señal:
# slay -N usuario1 usuario2 ...
NOTA: "N" es el numero de señal; -KILL o -9 es lo mismo, cualquiera de los tres primeros comandos nos sirve para mandar señales KILL.
Descargar Slay: http://freshmeat.net/redir/slay/9643/url_tgz/Slay.1.2.tar.gz
usando Skill:
# skill -9 usuario1 usuario2 ...
Usando Awk:
# kill `ps -u usuario | awk '{ print $1 }' `
Bash script:
# for i in `ps axu | grep ^usuario | awk {'print $2'}`; do kill $i; done
Perl Script:
# ps -u usuario | perl -ne 'system("kill","-9",$1) if /^\s*(\d+)/;'
Posted in How To |

October 29th, 2008 at 2:13 pm
también tienes el pkill:
# pkill -9 -u user