关闭Xshell后程序停止运行?学会使用Screen一招解决你的问题。

不少刚开始用Linux部署应用程序的朋友我相信都会遇到这样的问题,明明已经在在启动程序时使用的 & 后台运行,为啥退出Xshell时运行还是停止了。不错,我也遇到了,于是乎在网上还是找解决方案,Screen。

先官方一点的介绍一下

这是官网链接 http://www.gnu.org/software/screen/,然后长这样,并且还有一段介绍

翻译过来是这样的:

Screen 是一个全屏幕窗口管理器,它在多个进程(通常是交互式 shell)之间多路传输一个物理终端。 每个虚拟终端都提供 DEC VT100终端的功能,此外,还提供 ANSI X3.64(ISO 6429)和 ISO 2022标准的几个控制功能(例如,插入 / 删除行和支持多个字符集)。 每个虚拟终端都有一个滚动历史缓冲区,以及允许用户在窗口之间移动文本区域的复制粘贴机制。 当 screen 被调用时,它会创建一个单独的窗口,其中包含一个 shell (或者指定的命令) ,然后让路,这样您就可以正常地使用程序了。 然后,在任何时候,你可以创建新的(全屏幕)窗口和其他程序(包括更多的外壳程序) ,关闭当前窗口,查看活动窗口列表,打开和关闭输出登录,在窗口之间复制文本,查看滚动历史记录,在窗口之间切换等。 所有的窗口运行它们的程序完全独立于彼此。 当窗口当前不可见时,甚至当整个屏幕会话与用户终端分离时,程序仍继续运行。

我知道,其实你看的也不是很明白。我们不管它,我们只要知道它是干嘛的,能满足我们的需求即可。还是来实战吧。

实战

我的Linux环境是 Ubuntu 18.0.4

1.安装

Ubuntu安装
sudo apt update        //更新源

sudo apt install screen    //安装


Centos安装

yum install screen

2.使用

先 cd 到需要运行的文件目录下,比如我的运行文件名为OMCApi

screen -S OMCApi        //创建一个新的运行窗口

./OMCApi       //运行程序

Control + A + D        //这不是命令,使按键, 按键, 按键

3.检查

这样我们的程序就运行起来了,而且你现在即使关闭Xshell 它也不会关闭。

在给大家留几个常用的命令和按键

 
screen -S name                     启动一个名字为name的screen 
screen -S name -X quit          删除某个session 
screen -ls                               是列出所有的screen 
ctrl + a + d                              可以回到前一个screen,当前screen运行的程序不会停止
 

有问题或者建议的朋友,欢迎留言评论

猜你喜欢

转载自blog.csdn.net/Lyon_Nee/article/details/107074298