龙空技术网

shell脚本守护node-red进程,让程序一直运行

94版三国演义 308

前言:

此时各位老铁们对“node 启动命令”大体比较注重,朋友们都需要剖析一些“node 启动命令”的相关知识。那么小编同时在网络上汇集了一些关于“node 启动命令””的相关资讯,希望姐妹们能喜欢,咱们一起来了解一下吧!

真后悔没有早点用shell脚本,我才花了2天搞完了shell菜鸟教程,解决了我一个陈年旧病

因为我一直用node-red,但是有时候node-red会莫名其妙的掉线了,发现的时候已经丢失了很多数据了。

1、了解命令 p2 -ef | grep "**" | grep -v grep

这个是根据名称查找进程,并且过滤掉grep自己的进程

2、开始写脚本

#!/bin/bashwhile true :dops -ef | grep "node-red" | grep -v grepif  [ "$?" -ne 0 ]then  pm2 start ~/Desktop/nodejs/bin/node-red -- -velse echo "common--->"fisleep 10done

while true :

do

语句A

done

这个是一个死循环,会一直执行语句

这里的语句A是什么呢?

执行ps -ef | grep "node-red" | grep -v grep

获取结果"$?" 的长度

-ne是不等于的意思

我们可以做一个测试,

#!/bin/bashps -ef | grep "node-red" | grep -v grepecho "$?"

当node-red正常运行的时候,看看ps -ef | grep "node-red" | grep -v grep返回的是什么?

当node-red异常运行的时候,看看ps -ef | grep "node-red" | grep -v grep返回的是什么?

根据以上的测试,我们发现,当返回的不为0的时候,就说明进程异常;

死循环的话,感觉太耗性能了,也没有必要

可以每次执行结束以后,休眠10s sleep 10

以下脚本如下

#!/bin/bashwhile true :dops -ef | grep "node-red" | grep -v grepecho "$?"if  [ "$?" -ne 0 ]then  pm2 start ~/Desktop/nodejs/bin/node-red -- -velse echo "common--->"fisleep 10done

测试脚本是否有效

1、node-red的初始状态是关闭

2、启用脚本 ./pm2 start 发现启动了node-red

3、现在查看node-red的启动状态

pm2 list

node-red启动了

因为每次循环间隔10s,若未启用,则启用,若启用了,则打印common--->

我们可以看到下图左边都是common--->

4、我关闭node-red,看看脚本会不会启用node-red

几秒以后启用了,哈哈哈哈哈,完美

标签: #node 启动命令 #node 启动 守护模式 #node守护进程