upstart-20190417-Ubuntu 14.04 利用 upstart 守护 supervisord 进程

41 篇文章 0 订阅
19 篇文章 0 订阅

Intro

用 Ubuntu 的 upstart 守护 supervisord

Solution

# /etc/init/supervisord.conf

# supervisord - Upstarts the supervisor as service
# Put this file into /etc/init/supervisord.conf
#   sudo service supervisord start
#   sudo service supervisord stop
# Service gets started as root
# Needs `pgrep` available to root

description "Supervisord - Upstart"

stop on runlevel [016]

kill timeout 8

respawn

# change this to the directory which hosts the supervisord conf file
chdir /etc/supervisor/

env DAEMON=supervisord

# due to forking bug https://bugs.launchpad.net/upstart/+bug/406397/ this hack needs to be done
# 1. starts the daemon and a sleep operation keeping up with the daemon
# 2. stop will stop the sleep operation and manually stop the daemon

pre-start script
    exec $DAEMON
end script

script
    sleepWhileAppIsUp(){
        while pgrep $1 >/dev/null; do
            sleep 1
        done
    }

    sleepWhileAppIsUp $DAEMON
end script

post-stop script
    if pgrep $DAEMON;
    then
        kill `pgrep $DAEMON`
    fi
end script

刷新配置使其生效即可

# 刷新配置
initctl reload-configuration

# 加入 supervisord
initctl start supervisord
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值