Andere Benutzer von der Befehlszeile abmelden

67

Wenn zu viele Benutzer angemeldet sind, kann es vorkommen, dass mein Computer aufgrund des geringen verfügbaren Arbeitsspeichers sehr langsam und verzögert wird. Ich möchte in der Lage sein, die anderen Benutzer schnell von der Befehlszeile abzumelden, anstatt manuell zu jedem Benutzer zu wechseln und sie abzumelden.

Ist das möglich?

Jesaja
quelle

Antworten:

68

Das ist eine Antwort

who -u

das gibt Ihnen die PID

Dann können Sie die Benutzersitzung beenden.

kill "pid"
hhlp
quelle
Dies funktioniert, hat aber einige seltsame Nebenwirkungen.
Jesaja,
@DoR ... welche sind ..?
Oli
4
@Oli Wie GDM neu starten und versuchen, zu einem Benutzer zu wechseln, den ich getötet habe, funktioniert nicht.
Jesaja,
1
@AlvinRow Wenn Sie ausführen, werden ps auxfSie feststellen (die am weitesten links stehende Spalte hat einen gültigen Benutzernamen), dass diese Methode nicht alle Prozesse abbricht, die vom aktuellen Benutzer ausgeführt werden ( Sie sind also wahrscheinlich nicht abgemeldet). Die Methode von @precise scheint sich um dieses Problem zu kümmern, obwohl ich mich beim Senden nicht wohl fühle SIGKILL.
Dor
Ich bin überrascht, dass es so etwas nicht gibt, shutdownso dass es eine Warnung geben kann (damit die Arbeit gespeichert werden kann), bevor sie sich zwangsweise abmeldet. Das würde optional einfach zum Login wechseln, als würde man die Sitzung wechseln und die Benutzersitzung im Hintergrund laufen lassen.
pbhj
28

Mit können Sie whoüberprüfen, welche Benutzer angemeldet sind:

who

Sie können den Benutzer abmelden, indem Sie das KILLSignal an den Benutzerprozess senden mit:

sudo pkill -KILL -u <username>

(das ist das gleiche wie sudo pkill -9 -u <username>)

Beispiel:

sudo pkill -9 -u guest-2Rw4Lq

(um einen Gastsitzungsbenutzer mit dem Namen zu töten guest-2Rw4Lq)

präzise
quelle
Das hat bei mir am besten funktioniert. Das einfache Ausführen hat kill "pid"eine Menge Prozesse des Benutzers zurückgelassen, die noch ausgeführt werden. Dabei wurden alle Prozesse beendet.
thebaer
1
Warum SIGKILLund nicht die Standardeinstellung SIGTERM? Das SIGKILList nicht gesund ..
Dor
sudo pkill -KILL -u <username>für mich wechselte ich zur ersten Konsolensitzung; Ich dachte, es hätte meine aktuelle Sitzung beendet, aber Strg + Alt + F7 brachte mich zurück zur aktuellen Grafiksitzung.
pbhj
3
who -u


> adam     ttys000  Aug  4 09:22   .       91228 

dann

sudo kill 'PID number'
sudo kill 91228

PID (Prozess-ID) ist die vier- oder fünfstellige Nummer am Ende der Benutzeranzeige (91228)

adm
quelle
1
Ihr Bild zeigt keine vierstellige Nummer?
Dronz