是否有允许保存终端实例的包?

是否有允许保存终端实例的包?

是否有某种类型的包可以保存这样的终端实例:

some_package instance_name python3.9 main.py

关闭终端

some_package instance_name

显示所有终端消息,就好像我从未关闭它一样。

我正在通过 ssh 连接到机器,有时我必须带着笔记本电脑离开,这会导致连接中断,所以我看不到终端,是否有一个包可以保存实例,以便我可以再次调用它,它会再次显示输出?

谢谢。

答案1

有一个名为 的工具screen。登录服务器后,只需键入,screen从现在开始,您的会话将在screen提供的虚拟终端中运行,这意味着它将“保持活动状态”并仍在运行,即使您关闭终端也是如此(但如果您键入则不会exit- 这将终止!)。您还可以在会话中按 Ctrl+A 然后按 Dscreen有目的地断开会话,会话仍将运行。然后您可以注销服务器。screenscreen

正如评论中所说,重新连接到服务器后,输入screen -dr,您应该重新连接到您的会话。如果您只有一个断开连接的screen会话,则无需在 后输入任何参数screen -dr。否则,您可以使用 列出screen您帐户上的所有会话screen -ls,然后输入 ,screen -dr PID其中PID是您想要的会话的 PID。

它并不像你要求的那样“保存”会话,因为会话是一直在奔跑,即使您断开连接后也是如此,这意味着如果您让某个程序运行,它将继续运行并继续将输出(如果有)写入虚拟终端。screen有一个回滚缓冲区,因此如果您在会话中按 Ctrl+A 然后按 Esc screen,您可以向后滚动以查看断开连接时程序生成的输出行。但如果输出很多,回滚缓冲区可能不够用。

screen可以做更多 - 例如,您可以在后台运行多个会话并在它们之间切换,但上面描述的基本用例应该足以满足您的需要。

相关内容