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?

Antworten:


68

Das ist eine Antwort

who -u

das gibt Ihnen die PID

Dann können Sie die Benutzersitzung beenden.

kill "pid"

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)


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)


1
Ihr Bild zeigt keine vierstellige Nummer?
Dronz
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.