起動後スクリプト スタンザ内でコマンド置換を使用するとエラーが発生する (syslog が「ステータス 1 で終了」と報告する) 問題が upstart で見られますが、それは最初のシステム起動時のみです。
太陽の下でほぼすべてのスタートアップ イベント フックを使用してみました。local-filesystems と net-device-up は 1/100 回の試行でエラーなく動作したため、競合状態のようです。手動のスタート/ストップで問題なく動作します。私が見たコマンド置換は、エラーを引き起こす単純な猫または日付であり、 $() 方法とバックティック方法の両方を使用してみました。また、プレスタートでスリープを使用して競合状態を打ち負かそうとしましたが、何もしませんでした。
Win7 ホストを使用して VMWare 上で Ubuntu 11.10 を実行しています。すでにこれをトラブルシューティングするのに何時間も費やしました...誰かアイデアがありますか?
参照用の私の.confファイルは次のとおりです。
start on runlevel [2345]
stop on runlevel [016]
env NODE_ENV=production
env MYAPP_PIDFILE=/var/run/myapp.pid
respawn
exec start-stop-daemon --start --make-pidfile --pidfile $MYAPP_PIDFILE --chuid node-svc --exec /usr/local/n/versions/0.6.14/bin/node /opt/myapp/live/app.js >> /var/log/myapp/audit.node.log 2>&1
post-start script
MYAPP_PID=`cat $MYAPP_PIDFILE`
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] + Started $UPSTART_JOB [$MYAPP_PID]: PROCESS=$PROCESS UPSTART_EVENTS=$UPSTART_EVENTS" >> /var/log/myapp/audit.upstart.log
end script
post-stop script
MYAPP_PID=`cat $MYAPP_PIDFILE`
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] - Stopped $UPSTART_JOB [$MYAPP_PID]: PROCESS=$PROCESS UPSTART_STOP_EVENTS=$UPSTART_STOP_EVENTS EXIT_SIGNAL=$EXIT_SIGNAL EXIT_STATUS=$EXIT_STATUS" >> /var/log/myapp/audit.upstart.log
end script