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?

Odpowiedzi:


68

to jest jedna odpowiedź

who -u

które dają ci PID

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

kill "pid"

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)


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)


1
Twój obraz nie pokazuje czterocyfrowej liczby?
Dronz
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.