我正在通过 SSH 对长时间运行的数据迁移脚本进行一些测试。假设我在下午 4 点左右开始运行脚本;现在,下午 6 点左右,我诅咒自己没有全力以赴screen。
有什么办法可以“追溯”nohup一个进程,还是我需要整晚让我的电脑在线?如果无法附加screen到/nohup我已经开始的进程,那为什么?与父/子进程的交互方式有关吗?(我不会接受至少没有解决“为什么”问题的“否”答案——抱歉;))
我通过 ssh 启动了“do-release-upgrade”,然后我的(客户端)网络连接中断了。
如何重新连接到正在执行此命令的会话?
在进行运行时apt upgrade,Tomcat 7 安装后脚本与 common A new version of configuration file /etc/default/tomcat7 is available.... 不幸的是,我没有足够快地处理它并且 SSH 连接被重置。我该如何从中恢复?我可以重新连接到安装后屏幕吗?杀死它安全吗?如果我杀死它,是否有我应该手动执行的脚本?
我看到了这个问题,这样做操作系统版本的升级,但无论哪种解决方案(screen -r)是不相关的或者说我没有正确使用它。
$ screen -r
There is no screen to be resumed.
Run Code Online (Sandbox Code Playgroud)
我可以看到正在运行的进程:
$ ps -a
PID TTY TIME CMD
416 pts/2 00:00:00 frontend
423 pts/2 00:00:00 tomcat7.postins
430 pts/2 00:00:00 ucf
475 pts/2 00:00:00 whiptail
634 pts/1 00:00:00 ps
Run Code Online (Sandbox Code Playgroud)
正如 Dmitry Zayats 所建议的,我查看了 Tomcat 7 安装后脚本。在我安装的 Ubuntu 14.04 中,它可以在这里找到:/var/lib/dpkg/info/tomcat7.postinst
打开它,我相信我看到了我最初失去连接的相关行:
ucf --debconf-ok --sum-file …