码迷,mamicode.com
首页 > 系统相关 > 详细

一个极简的守护进程Bash脚本

时间:2015-01-08 17:41:14      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

由于最近写的Node.js程序因为一些Bug,会出现一些自动退出的问题,所以需要在它退出的时候及时发现,并重新启动

于是查阅了些资料,写了一个Bash的程序,功能十分简单,就是每隔3s判断一次处在6000端口的node程序是否正在运行,如果没有发现6000端口,那么执行启动程序的命令,已经使用了一段时间,感觉效果蛮好的,简单小巧,安全可靠,记录一下,以便以后使用。

 

#!/bin/bash

BASEDIR=/server

while true; do

    PRO_NOW=`netstat -tunlp| grep "6000" | wc -l 2>/dev/null`

    if [ $PRO_NOW -eq 0 ]; then
        cd $BASEDIR
        node ./bin/www > /tmp/run_node.log 2>&1  &
    else
        echo "`date`  6000 is listening..."
    fi
    sleep 3

done

 

BASEDIR就是项目的目录,程序很简单,变通下可以“守护”不少程序

启动的话,就用nohup,node程序可能会因为BUG退出,但是用nohup启动这个却bash不会出现什么问题

nohup ./runing.sh & 

是不是很方便呢

 

一个极简的守护进程Bash脚本

标签:

原文地址:http://www.cnblogs.com/ishell/p/4211177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!