我想從命令行註銷Mac OSX。我的OS X版本是10.9。僅命令行,而不是 AppleScript?
我想從命令行註銷Mac OSX。我的OS X版本是10.9。僅命令行,而不是 AppleScript?
sudo launchctl引導gui / $(id -u <username>)
或
sudo launchctl引導用戶/ $(id -u <username>)
用目標用戶的用戶名替換用戶名,或用用戶的uid替換整個子shell。這告訴launchctl拆除用戶的登錄會話(gui特別指代用戶的臨時登錄會話,用戶指定用戶的後台進程)。
您可以退出而無需 sudo
進行測試。
請注意,這僅適用於macOS 10.11.x或更高版本(有關更多信息,請參見 launchctl幫助
)
要完全從終端(或遠程ssh會話)註銷,只需終止loginwindow進程即可:
sudo pkill loginwindow
看中並指定用戶是否有多個用戶具有登錄窗口進程,但這是一個簡單的嘗試,沒有迅速的方式來結束用戶的圖形會話。
這過去對我有用:
註銷(確認)
osascript -e'tell app“系統事件”退出”
直接註銷(無需確認)
osascript -e'tell app“系統事件”到«event aevtrlgo»”
或
osascript -e'告訴應用程序“ loginwindow”到«event aevtrlgo»'
這樣,任何正在運行的應用程序都將得到注意,並可以安全地終止。
如果您有多個用戶...。
使用以下方式查找進程ID:
ps aux | grep登錄
然後終止該進程,然後退出該會話。但是還有很多處理程序。
用 pstree
檢查,以便您知道哪個進程終止。
這對我有用。
sudo -s
要獲取一些root特權和#提示,然後終止進程。 / p>
killall -vu用戶名-HUP
如果不是全部的話。努克!強制性警告-以root身份殺死設備沒有撤消操作,也沒有“您確定要在不保存文件的情況下中斷此過程,包括可能導致機器在極少數情況下無法啟動的系統關鍵數據庫”。
killall -vu用戶名-9
要添加到終端的一個不錯的實用程序是“註銷”命令,該命令的用法如下:
註銷用戶名
如何操作:
編輯您的.bash_profile
nano〜/ .bash_profile
添加此行:
logout(){sudo launchctl引導用戶/ $(id -u“ $ 1”)}
按 ctrl + x
重啟終端
您準備好了;)