我可以访问远程 Linux shell 以用于工作目的。我使用 让 Python 脚本在后台运行nohup
。
logout
现在,如果我想退出会话,使用和命令有什么区别exit
?在这两种情况下我的脚本都会继续运行吗?
答案1
logout
是 shell 的内部命令。因此,答案通常取决于 shell。来自man bash
:
logout
– 退出登录 shell。
从man zsh
:
logout [ n ]
– 与 exit 相同,只不过它仅在登录 shell 中起作用。
所以它们完全相同,但 logout 根本无法用于非登录 shell。登录 shell 是什么,可以在手册页中阅读。
答案2
在本地终端上尝试这两种方法。如果要使用“logout”,则需要“login”。默认情况下,在终端中,您从不以 login 启动 shell,因此,如果要关闭终端,则需要使用“exit”。它不是“login shell”。
在远程 ssh shell 中,这是无关紧要的,因为您使用的是“登录 shell”。当您使用 nohub 或类似程序时,您会将命令与实际 shell“分离”,因此当您关闭 shell 时,进程不会终止。