
我可以出於工作目的存取遠端 Linux shell。我使用 .python 腳本在背景運行nohup
。
logout
現在,如果我想退出會話,使用和exit
命令有什麼區別?在這兩種情況下我的腳本都會繼續運作嗎?
答案1
logout
是 shell 的內部命令。所以一般來說答案是依賴 shell 的。從man bash
:
logout
– 登出登入 shell。
從man zsh
:
logout [ n ]
– 與 exit 相同,但它僅在登入 shell 中運作。
所以它們是完全相同的,但是登出將簡單地拒絕對非登入 shell 起作用。什麼是登入 shell 可以在手冊頁中閱讀。
答案2
在本地終端中嘗試兩者。如果您想使用“登出”,則需要“登入”。預設情況下,在終端機中,您永遠不會透過登入啟動 shell,因此如果您想關閉終端,則需要使用「exit」。它不是“登入外殼”。
在遠端 ssh shell 中是無關緊要的,因為您使用的是「登入 shell」。當您使用 nohub 或類似的命令時,您將從實際 shell 中「分離」命令,因此當您關閉 shell 時,進程不會終止。