Wylogowywanie innych użytkowników z wiersza poleceń

67

Czasami, gdy jest zalogowanych zbyt wielu użytkowników, mój komputer może stać się bardzo wolny i opóźniony z powodu małej ilości dostępnej pamięci RAM. Chciałbym mieć możliwość szybkiego wylogowania innych użytkowników z wiersza poleceń zamiast ręcznego przełączania się na każdego użytkownika i wylogowywania go.

czy to możliwe?

Izajasza
źródło

Odpowiedzi:

68

to jest jedna odpowiedź

who -u

które dają ci PID

Następnie możesz zabić sesję użytkownika.

kill "pid"
hhlp
źródło
Działa to, ale ma dziwne skutki uboczne.
Izajasza
@DoR ... które są ..?
Oli
4
@Oli Takie jak restartowanie GDM i próba przejścia do użytkownika, którego zabiłem, nie działa.
Izajasza
1
@AlvinRow Jeśli wykonasz ps auxf, zauważysz (kolumna po lewej stronie ma efektywną nazwę użytkownika), że ta metoda nie zabija wszystkich procesów wykonywanych przez bieżącego użytkownika (więc prawdopodobnie nie jesteś wylogowany). Wydaje się, że metoda @precise rozwiązuje ten problem, chociaż nie czuję się dobrze z wysyłaniem SIGKILL.
Dor
Dziwi mnie, że nie ma czegoś takiego, shutdownwięc może ostrzegać (pozwalając na zapisanie pracy) przed wymuszonym wylogowaniem. To opcjonalnie po prostu przełączyłoby się na login, jakby zmieniał sesje, pozostawiając sesję użytkownika działającą w tle.
pbhj
28

Możesz użyć, whoaby sprawdzić, którzy użytkownicy są zalogowani:

who

Możesz wylogować użytkownika, wysyłając KILLsygnał do procesu użytkownika za pomocą:

sudo pkill -KILL -u <username>

(który jest taki sam jak sudo pkill -9 -u <username>)

przykład:

sudo pkill -9 -u guest-2Rw4Lq

(aby zabić użytkownika sesji gościa o nazwie guest-2Rw4Lq)

precyzyjny
źródło
To działało dla mnie najlepiej. Po prostu uruchomienie kill "pid"pozostawiło mnóstwo procesów przez użytkownika, który nadal działa, co zabiło ich wszystkich.
thebaer
1
Dlaczego SIGKILLnie domyślna SIGTERM? To SIGKILLnie jest zdrowe ...
Dor
sudo pkill -KILL -u <username>dla mnie przeniósł mnie do pierwszej sesji konsoli; Myślałem, że to zabiło moją obecną sesję, ale ctrl + alt + F7 przywróciło mnie do bieżącej sesji graficznej.
pbhj
3
who -u


> adam     ttys000  Aug  4 09:22   .       91228 

następnie

sudo kill 'PID number'
sudo kill 91228

PID (identyfikator procesu) to cztero lub pięciocyfrowa liczba na końcu odczytu użytkownika (91228)

adm
źródło
1
Twój obraz nie pokazuje czterocyfrowej liczby?
Dronz