![远程 Ubuntu PC 在后台运行时变得非常慢](https://linux22.com/image/227583/%E8%BF%9C%E7%A8%8B%20Ubuntu%20PC%20%E5%9C%A8%E5%90%8E%E5%8F%B0%E8%BF%90%E8%A1%8C%E6%97%B6%E5%8F%98%E5%BE%97%E9%9D%9E%E5%B8%B8%E6%85%A2.png)
我通过 SSH 远程使用 Ubuntu 主要是为了使用 Python 和管理数据科学项目。我通常通过 shell 文件运行脚本。我用来tqdm
跟踪进程时间。
当我断开与 PC 的连接并让它在后台继续处理进程时,原本应该花费 15 分钟的事情突然增加到了几个小时。
这是为什么?我可以做什么来绕过它?
答案1
检查断开连接是否是问题的一个简单方法是运行GNU 屏幕或者多路复用器在您的远程 ssh 会话中(两者都在主 Ubuntu 软件包存储库中)。然后从 screen/tmux 窗口中运行脚本。
我们想要的 screen/tmux 的关键功能是即使远程会话断开连接也能够保持 shell 和子进程运行。屏幕/tmux 窗口内的 shell/子进程不会注意到,因为它们运行在普蒂属于 screen/tmux,不属于远程登录进程(在本例中为 sshd)。
一般来说,我会在 screen/tmux 会话中运行长期命令,甚至在本地也是如此。还有很多其他的好处,这里就不一一详述了。
继续,为了帮助您找到根本原因,如果您提供有关所采取的确切步骤的更多详细信息会更容易。您通过 ssh 连接并在远程计算机上获取 shell。然后,您是否只需使用“myScript &”之类的内容在后台运行脚本,然后注销?你使用“nohup myScript &”吗?