¿Cómo matar todos los procesos de un usuario?
Cuando hago, ps aux
obtengo una lista de procesos con varios usuarios y quiero eliminar todos los procesos de usuario name1
, por ejemplo. ¿Qué es un comando para hacer eso en Ubuntu?
Respuesta1
En este caso, es bastante simple, puedes usarlo killall
para matar o enviar cualquier otra señal a varios procesos a la vez. Una de las opciones de "filtrado" es el propietario:killall --user name1
Respuesta2
Agregar otra opción porque nadie la ha mencionado y no me gusta killall
(usarla en Solaris puede causar un desastre).
pkill
es mas portatil
pkill -u username
Respuesta3
Instalar slay
:
aptitud instalar matar
Entonces emita slay some-user
.
Tenga en cuenta que si elimina elementos para usuarios cuyo propósito no conoce, puede inutilizar su máquina (hasta que reinicie).
Si realmente no quieres instalar slay:
ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill
(espera un poco)
ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9
Respuesta4
De acuerdo a man kill
:
kill -9 -1
Kill all processes you can kill.
Para aplicarlo a un usuario diferente:
su -l username kill -9 -1