关闭(远程)Linux 命令行界面

关闭(远程)Linux 命令行界面

如果我在 Linux 命令行界面上运行代码(例如可执行文件),然后关闭界面,会发生什么?可执行文件是否会继续在后台运行?如果它需要用户输入怎么办?我可以在稍后的会话中“返回到它”(例如为其提供用户输入)吗?

如果远程访问命令行界面(例如通过 SSH),这种行为会改变吗?

答案1

screen除非您在或之类的程序中运行上述命令tmux;或者您已将该程序置于后台 ( bg) 并放弃 ( disown),否则它将在其父 shell 死亡时被杀死(并且关闭终端仿真器的窗口也会杀死该 shell)

答案2

这个问题的变体以前也曾被问过。如果你搜索或nohup,你就能找到它们。screentmux

但简而言之:
当您关闭网络接口的连接时,它会脱机,您正在运行的程序会被告知您已断开连接(使用 SIGHUP)并终止。

如果您希望它们继续运行,则需要告诉它们忽略此挂断信号,您可以通过在前面添加 nohup 命令来实现。

一种更舒适的方法是运行screentmux保持您的状态直到您重新连接。(并且可以做更多的事情)。

相关内容