网站首页 > 博客文章 正文
真后悔没有早点用shell脚本,我才花了2天搞完了shell菜鸟教程,解决了我一个陈年旧病
因为我一直用node-red,但是有时候node-red会莫名其妙的掉线了,发现的时候已经丢失了很多数据了。
1、了解命令 p2 -ef | grep "**" | grep -v grep
这个是根据名称查找进程,并且过滤掉grep自己的进程
2、开始写脚本
#!/bin/bash
while true :
do
ps -ef | grep "node-red" | grep -v grep
if [ "$?" -ne 0 ]
then pm2 start ~/Desktop/nodejs/bin/node-red -- -v
else echo "common--->"
fi
sleep 10
done
while true :
do
语句A
done
这个是一个死循环,会一直执行语句
这里的语句A是什么呢?
执行ps -ef | grep "node-red" | grep -v grep
获取结果"$?" 的长度
-ne是不等于的意思
我们可以做一个测试,
#!/bin/bash
ps -ef | grep "node-red" | grep -v grep
echo "$?"
当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/bash
while true :
do
ps -ef | grep "node-red" | grep -v grep
echo "$?"
if [ "$?" -ne 0 ]
then pm2 start ~/Desktop/nodejs/bin/node-red -- -v
else echo "common--->"
fi
sleep 10
done
测试脚本是否有效
1、node-red的初始状态是关闭
2、启用脚本 ./pm2 start 发现启动了node-red
3、现在查看node-red的启动状态
pm2 list
node-red启动了
因为每次循环间隔10s,若未启用,则启用,若启用了,则打印common--->
我们可以看到下图左边都是common--->
4、我关闭node-red,看看脚本会不会启用node-red
几秒以后启用了,哈哈哈哈哈,完美
猜你喜欢
- 2025-06-08 WinPE疑难解答(winpe无法进入)
- 2025-06-08 如何做好跨团队协作项目?(跨团队协作的方法)
- 2025-06-08 正规翻译公司的服务流程是怎样的?火星翻译总结了这些
- 2025-06-08 Chinese FM holds talks with New Zealand deputy PM
- 2025-06-08 Axure PR 9 移动端设计规范(axure移动端尺寸)
- 2025-06-08 App上线需要自查的List:主要针对产品、部分运营和测试
- 2025-06-08 Checklist知多少?超详细的项目检查清单,PM必备!
- 2025-06-08 收藏|空调、制冷仪器、仪表词汇中英文对照表
- 2025-06-08 在linux系统下运行 .net core 程序
- 2025-06-08 Node.js 生产环境部署必备:PM2 从入门到实战全解析
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)