登录时如何在Linux上自动启动Screen会话
时间:2020-03-21 11:44:08 来源:igfitidea点击:
几天前,我们已经看到了如何在通过SSH本地或者远程登录Linux系统时自动启动Tmux会话。
今天,我们将在登录时查看如何在Linux上自动启动Screen会话。
通过SSH运行长期运行过程时,自动启动screen会话将极大地帮助。
如果由于任何原因丢失了网络连接,则该过程将继续在远程系统中的screen会话内运行,并且在网络返回时,我们可以重新连接到它。
登录时Linux上的自动启动Screen会话
在Linux上自动启动screen会话,编辑Linux系统的~/.bash_profile或者~/.bashrc文件:
$nano ~/.bash_profile
如果上述文件不可用,只需创建它。
并添加以下行:
if [[ -z "$STY" ]]; then screen -xRR default fi
其中我们使用-x标志将不分离的screen会话添加。
而-rr标志试图恢复最年轻(在创建时间)它发现的分离screen会话。
注意:如果使用zsh shell,请在~/.zshrc文件中添加上述行。
保存并关闭文件。
注销并重新登录系统。
我们将被登陆到名为"默认"的新screen会话中。
现在,在screen会话内启动任何进程,然后按CTRL + A跟踪,然后按D。
即使网络连接断开连接,该过程也会继续在screen会话内运行。
一旦网络连接回来,就可以再次ssh进入远程系统,并且我们将看到作业仍在运行!
说明:
- 我通过来自我本地系统的SSH连接到我远程Ubuntu服务器。将自动启动名为"默认"的新screen会话。
- 在screen会话中,我运行命令(例如观看Grep "CPU MHz "/proc/cpuinfo)以监控CPU速度。
- 然后,通过按Ctrl + A和D从会话中分离。
- 然后,我使用"screen-ls"命令列出screen会话并退出SSH会话。
- 最后,我通过SSH重新连接到远程系统,并验证该过程是否在没有任何中断的情况下继续运行screen会话。
要停止自动启动screen会话,只需删除从远程系统的~/.bashrc或者~/.bash_profile文件中提前添加的行。