¿Cómo matar todo el proceso de un usuario?
Cuando realizo ps aux, obtengo una lista de procesos con varios usuarios, ¡y quiero eliminar todos los procesos de usuarios, name1por ejemplo! ¿Qué es un comando para hacer eso en Ubuntu?
ubuntu
command-line
process
usuario15992
fuente
fuente

sudo service the-service-name stop. Los procesos de matanza pueden dejar archivos, bases de datos, etc.Respuestas:
En este caso, es bastante simple, puede usarlo
killallpara matar o enviar cualquier otra señal a un montón de procesos a la vez. Una de las opciones de "filtrado" es el propietario:killall --user name1fuente
--userdiscusión, gracias!killallpor ejemplo, Solaris Unix mata todos los procesos en ejecución que puede! Ver: en.wikipedia.org/wiki/KillallAgregar otra opción porque nadie lo ha mencionado, y no me gusta
killall(usarlo en solaris puede causar un desastre).pkilles más portátilfuente
killallen Ubuntu, peropkillya está instalado.Identifique al usuario, luego
killall -user <username>Tendrán un proceso bash (o similar) asociado con su sesión de inicio de sesión que matará su sesión.
Para obtener una visión general potencialmente mejor de lo que está haciendo un usuario, intente
pstree <username>fuente
--userInstalar
slay:aptitud instalar slay
Entonces emitir
slay some-user.Tenga en cuenta que si elimina cosas para usuarios para los que no conoce el propósito, puede dejar su máquina inutilizable (hasta que reinicie).
Si realmente no quieres instalar slay:
(espera un poco)
fuente
awkpuede grep algo en sí mismo. No es necesario hacerlogrep smth | awk, porque puede usarlo en suawk '/smth/{...}'lugar.killuser () { ps faux| awk -v user=$1 '$1==user{ system("kill -9 " $2) }' ;};