青龙面板-机器人守护

528 阅读4分钟
pm2/screen 守护程序,保活

为了防止机器人掉线,我们使用守护程序守护oneBot机器人来保活。pm2或者screen选择一个即可。

PM2 是具有内置负载均衡器的 Node.js 应用程序的生产流程管理器。它允许您使应用程序永远保持活动状态,在不停机的情况下重新加载它们,并促进常见的系统管理任务。

Linux 运维人员或许会碰到这样的问题,当试图将服务后台运行时,但是,该服务并没有按照预期运行,反而冻结了终端。

screen 命令在同一个终端内可以创建多个虚拟屏幕来运行多个服务。如果您在服务器中使用 ssh,并希望在后台运行服务,但服务本身不提供分离模式,那么这命令将非常有用。

青龙免部署上车,公众号内回复 "青龙上车"

Screen 守护傻妞和oneBot

守护傻妞

安装Screen

yum -y install screen

创建一个sillGirl的会话,名字随意,我这里叫sillGirl

screen -S sillyGirl

在新窗口执行,不要加参数,运行傻妞

cd && cd sillyGirl && ./sillyGirl

返回之前窗口

Ctrl + a + d
守护oneBot

创建一个onebot的会话,名字随意,我这里叫onebot

screen -S onebot

在新窗口执行

cd && cd node-onebot && node main 机器人QQ

返回之前窗口

Ctrl + a + d
其他命令

查看所有Screen会话

screen -ls

重新连接刚才的会话

screen -r sillyGirl

pm2守护oneBot

PM2是常用的node进程管理工具,它可以提供node.js应用管理,如自动重载、性能监控、负载均衡等。同类工具有Supervisor、Forever等。

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能。pm2基本是Nodejs应用程序不二的守护进程选择,事实上它并不仅仅可以启动Nodejs的程序,只要是一般的脚本的程序它同样可以胜任。

全局安装pm2

npm install pm2 -g
守护oneBot
cd && cd node-onebot &&  pm2 start "node main qq号"

其他命令

重启、重载、停止、删除
pm2 restart app_name|app_id|all 
pm2 reload app_name|app_id|all
pm2 stop app_name|app_id|all
pm2 delete app_name|app_id|all

pm2 restart app.js
pm2 restart app1 app3 app4

# 重置 restart 的计时器
  pm2 reset all

Linux screen命令(菜鸟教程)

Linux screen命令用于多重视窗管理程序。

screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。

语法
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]

参数说明:
  • -A  将所有的视窗都调整为目前终端机的大小。

  • -d<作业名称>  将指定的screen作业离线。

  • -h<行数>  指定视窗的缓冲区行数。

  • -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。

  • -r<作业名称>  恢复离线的screen作业。

  • -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。

  • -s 指定建立新视窗时,所要执行的shell。

  • -S<作业名称>  指定screen作业的名称。

  • -v  显示版本信息。

  • -x  恢复之前离线的screen作业。

  • -ls或--list  显示目前所有的screen作业。

  • -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

实例

创建 screen 终端

# screen //创建 screen 终端

创建 screen 终端 并执行任务

# screen vi ~/main.c //创建 screen 终端 ,并执行 vi命令

离开 screen 终端

# screen vi ~/main.c //创建 screen 终端 ,并执行 vi命令

#include 

main ()
{

}

"~/mail.c"       0,0-1    

在 screen 终端 下 按下 Ctrl+a d键

重新连接离开的 screen 终端

# screen -ls  //显示已创建的screen终端 
There are screens on:
2433.pts-3.linux    (2013年10月20日 16时48分59秒)    (Detached)
2428.pts-3.linux    (2013年10月20日 16时48分05秒)    (Detached)
2284.pts-3.linux    (2013年10月20日 16时14分55秒)    (Detached)
2276.pts-3.linux    (2013年10月20日 16时13分18秒)    (Detached)
4 Sockets in /var/run/screen/S-root.

# screen -r 2276 //连接 screen_id 为 2276 的 screen终端

我是阿杰,《阿杰的人生路》是我的个人公众号,我会分享一些自己的感悟,技术,理财和学习方法。如果您喜欢我的文章,可以关注公众号,获取最新内容及专辑。

扫码_搜索联合传播样式-标准色版.png