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> 指定建立新视窗时,所要执行的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终端
《一两浊酒》是我的个人公众号,我会分享一些自己的感悟,技术,理财和学习方法。如果您喜欢我的文章,可以关注公众号,获取最新内容及专辑。