我正在通过 SSH 对长时间运行的数据迁移脚本进行一些测试。假设我在下午 4 点左右开始运行脚本;现在,下午 6 点左右,我诅咒自己没有全力以赴screen。
有什么办法可以“追溯”nohup一个进程,还是我需要整晚让我的电脑在线?如果无法附加screen到/nohup我已经开始的进程,那为什么?与父/子进程的交互方式有关吗?(我不会接受至少没有解决“为什么”问题的“否”答案——抱歉;))
我的办公室工作经常看到我通过 VNC 连接到 Linux 机器。
有时我在控制台上启动远程作业,后来意识到它运行的时间比预期的要长得多。(应该首先在 Screen 下启动那个...)
我不想为了保持 VNC 会话打开而让我的工作站通宵运行;我想将已经在运行的远程作业移动到 Screen 会话中(在远程盒子上),这样我就可以关闭工作站(并在第二天早上重新连接)。
如果有的话,如何做到这一点?
可能的重复:
我可以 nohup/screen 一个已经启动的进程吗?
在 Unix(特别是 Linux)上,我在常规 ssh->bash 会话中开始了一项工作。我想尽快下班,但我现在意识到这项工作需要几个小时。
如果我刚刚在银幕上开始这项工作,我可以分离回家。但我没有。
有什么方法可以断开作业与其 ssh 会话的连接,这样我就可以关闭我的计算机(断开 TCP 连接并终止 ssh 会话),并且程序继续运行?
我不在乎它的输出——事实上,我将 stdout 重定向到了一个文件。我只是想让它运行完成。