我有一个屏幕会话,运行一个可能需要几天才能完成的进程。服务器机房出现了冷却故障,机器被关闭,现在重新启动。有没有办法恢复我的屏幕缓冲?我知道程序会被终止等等。但我想看看结果,并尝试挽救一些工作。当然,它被缓冲在某个地方(尽管现在可能已经清理干净了?)。
在未来,如果我知道我想要看到/保存输出到屏幕上,最好的方法是什么?
谢谢你的帮助
screen
将scrollback缓冲区存储在内存中,而不是磁盘上。因此,无法从不再运行的进程中恢复它们。(虽然缓冲区被交换到磁盘的可能性很小,但识别和恢复它们将非常困难。)
如果进程的输出是重要的,将其写入磁盘,要么通过将进程通过tee
管道,要么通过在它所在的screen
选项卡上启用日志记录(使用log
命令,默认映射为^ a H)。