web-dev-qa-db-fra.com

Tuer tous les processus d'utilisateurs dans Ubuntu?

Comment tuer tous les processus d'un utilisateur?

Quand je fais ps aux J'obtiens une liste de processus avec plusieurs utilisateurs, et je veux tuer tous les processus de l'utilisateur name1 par exemple! Qu'est-ce qu'une commande pour faire cela dans Ubuntu?

23
user15992

Dans ce cas, c'est assez simple, vous pouvez utiliser killall pour tuer ou envoyer tout autre signal à un tas de processus à la fois. L'une des options de "filtrage" est le propriétaire: killall --user name1

30
njsg

Ajout d'une autre option car personne ne l'a mentionné et je n'aime pas killall (son utilisation sur solaris peut provoquer un désastre).

pkill est plus portable

pkill -u username
16
Patrick

Identifiez l'utilisateur, puis killall -user <username>

Ils auront un processus bash (ou similaire) associé à leur session de connexion qui tuera leur session.

Pour obtenir une meilleure vue d'ensemble de ce que fait un utilisateur, essayez pstree <username>

2
SuperBOB

Installez slay:

installer aptitude slay

Ensuite, lancez slay some-user.

Sachez que si vous tuez des choses pour des utilisateurs dont vous ne connaissez pas le but, vous risquez de rendre votre machine inutilisable (jusqu'à ce que vous redémarriez).

Si vous ne voulez vraiment pas installer Slay:

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill

(attends un peu)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9
1
jmtd