38 linux python daemon supervisord
Supervisord 不附带初始化脚本或不指示如何自动启动它,即。重启后。我尝试了一些用户提供的 /etc/init.d 脚本,但它们都失败了。
什么是首选的解决方案?
小智 40
实际上,我在这里找到了一个http://gist.github.com/176149。要安装它:
sudo curl https://gist.github.com/howthebodyworks/176149/raw/88d0d68c4af22a7474ad1d011659ea2d27e35b8d/supervisord.sh > /etc/init.d/supervisord
Run Code Online (Sandbox Code Playgroud)
运行它
sudo chmod +x /etc/init.d/supervisord
Run Code Online (Sandbox Code Playgroud)
并自动安排它,做
sudo update-rc.d supervisord defaults
Run Code Online (Sandbox Code Playgroud)
确保 /etc/supervisord.conf 中的正确 pid 映射到 /etc/init.d/supervisord
example: pidfile=/var/run/supervisord.pid
Run Code Online (Sandbox Code Playgroud)
停止和启动工作正常
service supervisord stop
service supervisord start
Run Code Online (Sandbox Code Playgroud)
小智 13
我为 ubuntu 9.10 创建了一个新贵脚本
例如,我将 supervisor 安装到虚拟环境中,然后从 upstart 启动和控制 supervisor。
创建一个文本文件 /etc/init/supervisord.conf
内容是:
description "supervisord"
start on runlevel [345]
stop on runlevel [!345]
expect fork
respawn
exec /misc/home/bkc/Python_Environments/java2/supervisord/bin/supervisord -c /misc/home/bkc/Python_Environments/java2/supervisord/work/supervisord.conf
Run Code Online (Sandbox Code Playgroud)
它会在启动时自动启动主管。要在创建 .conf 文件后手动启动,请使用
须藤启动supervisord
要手动停止服务,请使用
须藤停止监督
Pet*_*ist 12
这是我在 RHEL 5.4 和 CentOS 5.5 上使用的
我不确定它是否取决于我的 supervisord.conf 中的一些配置设置。但它似乎工作正常。
安装后需要运行以下命令
chkconfig --add supervisord
Run Code Online (Sandbox Code Playgroud)
[/etc/rc.d/init.d/supervisord]
#!/bin/sh
#
# /etc/rc.d/init.d/supervisord
#
# Supervisor is a client/server system that
# allows its users to monitor and control a
# number of processes on UNIX-like operating
# systems.
#
# chkconfig: - 64 36
# description: Supervisor Server
# processname: supervisord
# Source init functions
. /etc/rc.d/init.d/functions
prog="supervisord"
prefix="/usr/"
exec_prefix="${prefix}"
prog_bin="${exec_prefix}/bin/supervisord"
PIDFILE="/var/run/$prog.pid"
start()
{
echo -n $"Starting $prog: "
daemon $prog_bin --pidfile $PIDFILE
[ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
echo
}
stop()
{
echo -n $"Shutting down $prog: "
[ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac
Run Code Online (Sandbox Code Playgroud)
官方 Supervisor GitHub 存储库中有一个 Debian/Ubuntu 脚本:
https://github.com/Supervisor/initscripts/blob/master/debian-norrgard
| 归档时间: |
|
| 查看次数: |
143398 次 |
| 最近记录: |