我试图使用暴发户,以便supervisord启动时自动启动。 我的supervisord是在一个虚拟的环境中。
我已经configuration它在-n参数的前台运行模式下运行,如果手动启动,但是拒绝在启动时启动,它会工作。
遵循这里的指南http://upstart.ubuntu.com/cookbook/#how-to-establish-fork-count
我发现supervisord分叉了37次。
> ~/projects/bleh_app$ sudo strace -o /tmp/strace.log -fFv /home/bleh/py_venvs/supe/bin/supervisord -c /home/bleh/projects/bleh_app/supervisord/supervisord.conf & [1] 5662 > ~/projects/bleh_app$ ps -ef | grep strace root 5662 5447 0 21:02 pts/0 00:00:00 sudo strace -o /tmp/strace.log -fFv /home/bleh/py_venvs/supe/bin/supervisord -c /home/bleh/projects/bleh_app/supervisord/supervisord.conf root 5663 5662 36 21:02 pts/0 00:00:03 strace -o /tmp/strace.log -fFv /home/bleh/py_venvs/supe/bin/supervisord -c /home/bleh/projects/bleh_app/supervisord/supervisord.conf bleh 5703 5447 0 21:02 pts/0 00:00:00 grep --color=auto strace > ~/projects/bleh_app$ sudo killall -9 strace [1]+ Exit 137 sudo strace -o /tmp/strace.log -fFv /home/bleh/py_venvs/supe/bin/supervisord -c /home/bleh/projects/bleh_app/supervisord/supervisord.conf > ~/projects/bleh_app$ sudo egrep "\<(fork|clone)\>\(" /tmp/strace.log | wc | awk '{print $1}' 37
一些问题:
*任何想法,为什么它不会启动时在forground模式?
*我是否正确确定货叉数量?
*有什么更好的build议如何开始监督新贵?
天啊…
我从这里开始走这条路:
如何自动启动Linux上的supervisord(Ubuntu)
具体来说这个答案https://serverfault.com/a/115259/60345
“ 哦超级supervisord的暴发户…. nooooooo问题 ”
不 , 可以得到supervisord手动启动没有问题,但不能使其在启动时自动启动。 debugging它似乎像supervisord启动,但立即发送SIGTERM自杀。 不知道是否因为在前台运行。
上面的问题最初是看我是否可以用期望的叉子或守护进程运行它(我从来没有想过)
我8个小时的生活后来我find了这个
http://upstart.ubuntu.com/cookbook/#runlevels
你基本上想要你的新贵conf文件看起来像:
description "supervisord" start on (filesystem and static-network-up) stop on runlevel [!2345] respawn exec /<path to>/supervisord -n -c /<path to>/supervisord.conf
特别说明:
在运行级别停止[!2345]
VS
停在运行级[!345]
我想在另一个线程中发布这个答案,但它被locking=(