screen是linux下的一种视窗多重复用管理程序。在使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的session.screen命令可以解决这个问题。在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。

emmmm,我是最近noebot经常掉线,懒得弄node的守护进程,所以就先使用此方法。这个比较方便,但是相对的稳定性不是特别高

一、安装screen

yum -y install screen

1.png

二、开启新的终端窗口

screen

直接敲screen即可打开新的终端窗口。进入后运行需要运行的进程。

开启完成后,Catrl+a,然后输入d,回车。即可暂时关闭窗口,但是后台继续运行
好像在运行某些挂起的时候,需要Catrl+a后再按Catrl+d才会暂时关闭。具体自测(改自2022.05.19)

三、恢复终端窗口

screen -r            //如果只有一个会话,可直接使用此命令恢复。screen -ls          //查询所有会话列表screen -r 会话ID  //进入指定会话

1-1650010250057.png
当系统中只有一个screen会话时,输入:screen -r 即可进入这个会话

如果有多个请先查询会话ID,然后进入指定会话。

四、如何杀死终端

screen -d 会话ID

第一种方法,使用-d+会话ID进行杀死会话。
1-1650010281247.png
第二种方法Ctrl+a,输入K,输入Y确认杀死会话。其实,使用exit也可。

确认是否成功杀掉会话可直接screen -ls,看下列表中是否还有会话即可。

其实node有很多种守护进程的方法,大家可以自行研究一下,我比较懒,非生产环境都是能用即可。