几天前,我们已经看到了如何 自动启动 Tmux 会话 每当您通过 SSH 在本地或远程登录 Linux 系统时。 今天,我们将看看如何自动启动 屏幕 登录时在 Linux 上的会话。通过 SSH 运行长时间运行的进程时,自动启动屏幕会话将有很大帮助。 如果您由于某种原因失去了网络连接,该进程将继续在远程系统的 Screen 会话中运行,您可以在网络恢复联机时重新连接到它。
登录时在 Linux 上自动启动屏幕会话
要在 Linux 上自动启动 Screen 会话,请编辑 Linux 系统的 ~/.bash_profile 或者 ~/.bashrc 文件:
$ nano ~/.bash_profile
如果上述文件不可用,只需创建它。
并在其中添加以下行:
if [[ -z "$STY" ]]; then screen -xRR default fi
在这里,我们使用 -X 附加到未分离的屏幕会话的标志。 和 -RR flag 尝试恢复它找到的最年轻的(就创建时间而言)分离屏幕会话。
笔记: 如果您使用 Zsh shell,请将以上行添加到 ~/.zshrc 文件。
Save 和 close 文件。 注销并重新登录系统。 您将进入一个名为的新屏幕会话 ‘默认’.
现在,启动 Screen 会话中的任何进程,然后按 Ctrl+a 其次是 d. 即使网络连接断开,该进程也将继续在 Screen 会话中运行。 网络连接恢复后,您可以再次通过 SSH 连接到远程系统,您会看到作业仍在运行!!
看看下面的动画演示:
让我澄清一下我刚刚在上面的输出中做了什么。
- 我从本地系统通过 SSH 连接到远程 Ubuntu 服务器。 一个名为“default”的新 Screen 会话会自动启动。
- 在 Screen 会话中,我运行一个命令(例如 watch grep “cpu MHz” /proc/cpuinfo)来监控 CPU 速度。
- 然后,我按 Ctrl+a 和 d.
- 然后,我使用“screen -ls”命令列出 Screen 会话并退出 SSH 会话。
- 最后,我通过 SSH 重新连接到远程系统,并验证进程是否在 Screen 会话中继续运行而没有任何中断。
希望你能理解。
要停止自动启动 Screen 会话,只需从远程系统的 ~/.bashrc 或者 ~/.bash_profile 文件。
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!