Ubuntuサーバー11.04を実行しています。説明されているように、Upstartユーザージョブを作成しました ここ 。
/home/myuser/.init/sensors.conf
に次のファイルがあります。
start on started mysql
stop on stopping mysql
chdir /home/myuser/mydir/project
exec /home/myuser/mydir/env/bin/python /home/myuser/mydir/project/manage.py sensors
respawn
respawn limit 10 90
myuser
として、ジョブを開始、停止、および再ロードできます-完全に機能します
$ start sensors
sensors start/running, process 1332
$ stop sensors
sensors stop/waiting
問題は、mysql
の起動時に、起動時にジョブが自動的に開始されないことです。新たに起動した後、mysql
は実行されていますが、私のsensors
ジョブは実行されていません。
奇妙なことに、ジョブは起動時に開始されませんが、Sudo
を使用してmysql
を再起動すると、実際にジョブが開始されます。次のコマンドは、新しいスタートアップからmyuser
として実行されます。
$ status sensors
sensors stop/waiting
$ Sudo restart mysql
mysql start/running, process 1209
$ status sensors
sensors start/running, process 1229
Upstartユーザージョブのドキュメントはかなり制限されています。システムの起動時にユーザージョブを自動的に開始させる正しい方法は何ですか?
rc.local
に何かを投げて開始するか、sensors.conf
を/etc/init
に移動できることはわかっていますが、Upstartだけを使用してそれを行う方法があるかどうか知りたいです。
問題は、ユーザーがinitctl
コマンドのいずれかを実行してUpstartセッションを作成するまで、ユーザージョブがUpstartに読み込まれないことです。
詳細については http://bradleyayers.blogspot.com.au/2012/04/enabling-upstart-user-jobs-to-start-at.html で説明し、また問題を回避するUpstartジョブ。