Linux(Raspbian)中screen命令临时输出会话的存储位置咨询
关于Screen会话中Python程序输出存储的问题解答
嘿,我来帮你搞清楚这个事儿~
首先得明确:默认情况下,Screen并没有把会话的输出保存到磁盘文件里,你重新连接时能看到的那些历史输出,其实是存在Screen会话的内存缓冲区里的。
缓冲区的细节
- 这个缓冲区的大小直接和你连接Screen时的终端窗口尺寸挂钩:窗口的行数越多,能缓存的输出行数就越多——这就是为什么换更大的屏幕能看到更多历史内容的原因。
- 缓冲区是完全存在内存里的,只有当Screen会话处于运行状态时才会保留。一旦你关闭了这个Screen会话(比如程序运行结束、手动执行
screen -X quit),缓冲区里的内容就会被清空,不会留下任何磁盘文件。
实用小技巧
如果想查看更多历史输出,或者以后保存输出,可以试试这些操作:
- 查看更多历史内容:在Screen会话里按下
Ctrl+a,紧接着按[(进入滚动/复制模式),之后就能用方向键、PageUp/PageDown来翻阅之前的输出了,看完按q退出这个模式。 - 临时开启输出记录:如果已经在运行Python程序,不想重启的话,按下
Ctrl+a再按大写的H,Screen会在当前工作目录生成一个名为screenlog.0的文件,之后所有的输出都会追加到这个文件里;要停止记录的话,再按一次Ctrl+a H就行。 - 启动时就开启记录:以后再用Screen跑程序,可以直接用
screen -L python your_script.py启动,这样从会话一开始,所有输出就会自动记录到screenlog.0里。
内容的提问来源于stack exchange,提问作者Ksartor
相关产品推荐
相关产品推荐

