1

我在 Ubuntu脚本中有以下两个exec语句:upstart

exec /bin/su -c "cd /var/www/ssrc/jvwf/; \
python /var/www/ssrc/jvwf/manage.py runfcgi --settings=spzr.settings-admin \
--pythonpath=/var/www/ssrc/jvwf method=prefork socket=/tmp/www/spzr-adm.socket \
pidfile=/tmp/www/spzr-adm.pid minspare=2 maxspare=4 maxchildren=10 \
maxrequests=65535 daemonize=false" - www-data

exec /bin/su -c "cd /var/www/ssrc/jvwf/; \
python /var/www/ssrc/jvwf/manage.py runfcgi --settings=spzr.settings-live \
--pythonpath=/var/www/ssrc/jvwf method=prefork socket=/tmp/www/spzr.socket \
pidfile=/tmp/www/spzr.pid minspare=2 maxspare=4 maxchildren=10 \
maxrequests=65535 daemonize=false" - www-data

第二个命令仍然存在,而第一个命令停止工作。当两个命令的顺序颠倒时也会发生同样的情况。

当使用与上述完全相同的语法从同一个新贵服务单独(即单独)运行时,这两个命令都可以完美运行。

我究竟做错了什么?

4

1 回答 1

1

每个 upstart 作业只能有一个主程序,因此运行两件事意味着有两个 upstart 作业。

因此,您需要将它们拆分为具有唯一名称的两个单独的作业。如果你想一起控制他们,你可以有他们跟随的第三个控制工作

/etc/init/control-fcgi.conf:

start on runlevel [2345]
stop on runlevel [016]

然后其他两个都会这样做:

start on starting control-fcgi
stop on stopping control-fcgi
于 2012-09-07T19:18:05.463 回答