Nohup 以及远程 shell 上注销和退出的区别

Nohup 以及远程 shell 上注销和退出的区别

我可以访问远程 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 时,进程不会终止。

相关内容