尝试远程访问终端并能够恢复它。我有什么选择?

尝试远程访问终端并能够恢复它。我有什么选择?

我有一台运行 CentOs 7.7 的机器。我正在尝试远程访问终端并执行脚本。现在我使用 putty 通过 SSH 连接到服务器,然后键入./run_server.sh执行我的脚本。文件内容run_server.sh如下(极其简化):

#!/bin/bash
run_script=(./my_calculator_server)
"${run_script[@]}"

然后它开始执行我的计算器服务器,它可以接受两个数字并输出它们的总和(再次简化)。问题是,如果我关闭 Putty 程序,脚本就会终止,会话也会终止。即使脚本没有终止,我也无法返回到它,因为再次运行 Putty 将打开一个新的终端窗口。我希望能够远程访问该会话,与其交互并随时返回该会话。是否可以?如果是这样,我有什么选择?

我并不是要求分步说明,只是想找到实现此目的的方法。

PS:VNC 不是一个选项。

答案1

问题是该进程是当前 shell 会话的子进程。当 shell 关闭时,所有子进程都会终止。您需要从当前 shell 中取消该进程:

我知道这三个选项:


disown

运行命令,然后按CTRL+Z暂停当前进程,运行bg以使其在后台继续运行,然后运行disown​​。


nohup如果您需要一种简单的方法来记录输出,请使用:

nohup your_command &

在默认命名的文件中查找命令的输出nohoup.out


如果需要重新连接到进程,请使用screen或会话。tmux


类似问题:

相关内容