Chcę wylogować się z systemu Mac OS X z wiersza polecenia. Moja wersja OS X to 10.9. Próbowałem polecenia pkill -KILL -u uid
, ale to polecenie nie zadziałało. Czy istnieje polecenie, którego można użyć do wylogowania użytkownika z systemu za pomocą tylko wiersza poleceń, a nie AppleScript ?
mavericks
script
user-account
prateeak ojha
źródło
źródło
Odpowiedzi:
sudo launchctl bootout gui/$(id -u <username>)
lub
sudo launchctl bootout user/$(id -u <username>)
Zamień nazwę użytkownika na nazwę użytkownika docelowego lub zamień całą podpowłokę na identyfikator użytkownika. To mówi launchctl, aby porzucił sesję logowania użytkownika (GUI odnosi się konkretnie do tymczasowej sesji logowania użytkownika, użytkownik określa procesy użytkowników w tle).
Możesz się wylogować bez
sudo
testowania.Pamiętaj, że będzie to działać TYLKO na systemie MacOS 10.11.x lub nowszym (
launchctl help
więcej informacji)źródło
Aby wylogować się wyłącznie z terminala (lub zdalnej sesji ssh), po prostu zabij proces loginwindow:
Możesz się spodobać i określić użytkownika, jeśli wielu użytkowników korzysta z procesu logowania, ale jest to łatwy, jednorazowy krok, bez szybkiego zakończenia sesji graficznej użytkownika.
źródło
W przeszłości działało to dla mnie:
Wyloguj się (z potwierdzeniem)
Wyloguj się bezpośrednio (bez potwierdzenia)
lub
W ten sposób każda działająca aplikacja zostanie zauważona i może zakończyć działanie w bezpieczny sposób.
źródło
Jeśli masz wielu użytkowników ...
Znajdź identyfikator procesu za pomocą:
Następnie zabij ten proces i wylogowałeś się z sesji. Ale pozostało jeszcze wiele procesów.
Skontaktuj się z
pstree
, abyś wiedział, który proces zakończyć.źródło
To załatwia sprawę.
Aby uzyskać uprawnienia roota i monit #, następnie zabij procesy.
A jeśli nie wszystko zniknęło. Nuke em! Ostrzeżenie obowiązkowe - zabijanie rzeczy, ponieważ root nie ma cofania i „nie jesteś pewien, że chcesz przerwać ten proces bez zapisywania plików, w tym krytycznych dla systemu baz danych, które w rzadkich przypadkach mogą uniemożliwić uruchomienie komputera”. wpisz ostrzeżenia.
źródło
Przyjemnym narzędziem, które można dodać do terminala, jest polecenie „wyloguj się”, którego można używać w następujący sposób:
Oto jak:
Edytuj swój .bash_profile
nano ~/.bash_profile
Dodaj ten wiersz:
logout() {sudo launchctl bootout user/$(id -u "$1")}
Zapisz plik naciskając
ctrl+x
Uruchom ponownie terminal
Jesteś gotowy do drogi;)
źródło
jeśli jesteś zalogowany za pomocą ssh na zdalnym komputerze, możesz się wylogować, wpisując „exit”:
źródło