如何在登陆Linux时自动启动Screen会话
今天,我们就来看看如何在Linux系统上登录时自动启动Screen会话。通过SSH自动启动Screen会话,在通过SSH长时间运行时,自动启动Screen会话会有很大的帮助。如果你因为各种原因失去了网络连接,那么这个进程会在远程系统的Screensession内继续运行,当网络恢复上线后,你可以重新连接到它。
要在Linux上自动启动Screen会话,请编辑Linux系统的〜/ .bash_profile或〜/ .bashrc文件:
$ nano〜/ .bash_profile
如果以上文件不可用,请创建它。
并在其中添加以下几行:
if [[ -z "$STY" ]]; then
screen -xRR default
fi
在这里,我们使用-x标志来附加到未分离的屏幕会话。并且-RR标志尝试恢复找到的最年轻(就创建时间而言)的分离屏幕会话。
注意:如果使用Zsh Shell,请在〜/ .zshrc文件中添加以上行。
保存并关闭文件。注销并重新登录系统。您将进入名为'default'的新Screen会话。
现在,在Screen会话中启动任何进程,并通过按Ctrl + a和d使其脱离。即使网络连接断开,该过程也将继续在Screen会话中运行。一旦网络连接恢复,您可以再次SSH到远程系统,您将看到作业仍在运行!
我从本地系统通过SSH连接到远程Ubuntu服务器。自动启动一个名为“默认”的新屏幕会话。
在Screen会话中,我运行一个命令(例如,监视grep \“ cpu MHz \” / proc / cpuinfo)以监视CPU速度。
然后,我通过按Ctrl + a和d脱离了会话。
然后,我使用“ screen -ls”命令列出Screen会话并退出SSH会话。
最后,我通过SSH重新连接到远程系统,并验证该进程是否在Screen会话中继续运行,而没有任何中断。
要停止自动启动Screen会话,只需从远程系统的〜/ .bashrc或〜/ .bash_profile文件中删除之前添加的行即可。