Alle Prozesse der Benutzer in Ubuntu beenden?


20

Wie kann ich den gesamten Prozess eines Benutzers beenden?

Wenn ich mache, ps auxerhalte ich eine Liste von Prozessen mit mehreren Benutzern, und ich möchte zum name1Beispiel alle Prozesse von Benutzern beenden! Was ist ein Befehl, um das in Ubuntu zu tun?



1
Wenn die Benutzer echte Personen sind, ist dies wahrscheinlich keine gute Idee. Ich denke auch, dass Sie Prozesse beenden möchten, um Zeit zu sparen. Das ist eine sehr schlechte Idee. Zum Beispiel können die Dienste in Ubuntu gestoppt werden sudo service the-service-name stop. Das
Beenden von

Antworten:


27

In diesem Fall ist es ziemlich einfach, mit dem Sie killallmehrere Prozesse gleichzeitig beenden oder ein anderes Signal senden können. Eine der "Filter" -Optionen ist der Eigentümer:killall --user name1


Das --userArgument war mir nicht bekannt , danke!
jmtd

4
Es ist zu beachten, dass killallz. B. in Solaris Unix alle laufenden Prozesse abgebrochen werden können! Siehe: en.wikipedia.org/wiki/Killall
donothingsuccessfully

Dies im Wesentlichen auf Ubuntu 18 abgemeldet.
Manohar Reddy Poreddy

14

Hinzufügen einer weiteren Option, weil niemand sie erwähnt hat und ich sie nicht mag killall(die Verwendung auf Solaris kann zu einer Katastrophe führen).

pkill ist tragbarer

pkill -u username

Ich finde es nicht killallin Ubuntu, aber es pkillist bereits installiert.
david.perez

2

Identifizieren Sie dann den Benutzer killall -user <username>

Sie haben einen Bash-Prozess (oder einen ähnlichen Prozess), der mit dem Beenden ihrer Anmeldesitzung verbunden ist und die Sitzung beendet.

Versuchen Sie, sich einen besseren Überblick über die Aktivitäten eines Benutzers zu verschaffen pstree <username>


Sie benötigen zwei Bindestriche, bevor der Benutzer z. B.--user
jmtd

1

Installieren Sie slay:

Eignung installieren töten

Dann ausstellen slay some-user.

Beachten Sie, dass Sie Ihren Computer unbrauchbar machen können, wenn Sie Inhalte für Benutzer entfernen, für die Sie den Zweck nicht kennen (bis Sie ihn neu starten).

Wenn Sie Slay wirklich nicht installieren möchten:

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

(warten Sie ein wenig)

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

1
Übrigens awkkann sich etwas schnappen. Keine Notwendigkeit zu tun grep smth | awk, weil Sie nur awk '/smth/{...}'stattdessen verwenden können.
Ansturm

Hier ist eine praktische kleine Funktion für Sie. killuser () { ps faux| awk -v user=$1 '$1==user{ system("kill -9 " $2) }' ;};
rcjohnson
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.