logo
当前位置:首 页 > 编程技术 >后端开发 > 查看文章

最近出现一个问题是线程跑着跑着就挂了所以想试着做一个监听线程的脚本

首先需要获取线程名,因为线程都是和容器一起启动的,所以id是无法确定或者有点难度的;

假设有个线程是 php_order_worker_0【这个最后的数字是启动服务的时候自动加的一般启了多少线程就有多少】

获取了线程之后 因为grep或加到线程中,所以第二步是剔除这个 grep worker ,第三步是统计下有多少个命中的 用了wc 具体的代码如下:

#添加一个获取线程的脚本
ps -fe | grep worker |grep -v grep |wc -l

 

然后用 添加到定时任务中 crontab中就可以了

 

我的的代码具体如下:

#!/bin/sh
echo 'date +"%Y-%m-%d %H:%M:%S"' >> /data/nginx/logs/checksw.log
count = 'ps -fe|grep worker|grep -v grep|wc -l'
if [$count = 0 ]
thenecho "start process......" >> /data/nginx/logs/checksw.log
/www/start_sw.sh
else
echo "proces running ...."
fi

 

打开定时任务:

crontab -e

 

添加定时任务:每分钟检查一次

*/1     *       *       *       *       /bin/sh /www/listemworks.sh

 

 

 

 

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3