この質問に続いて、次のように、ヘッドレスUbuntu Server 11.04ボックス用のシンプルなスタートアップサービス(/etc/init/pms.conf)を作成しました。
start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn
exec /home/administrator/pms-current/PMS.sh
コマンドラインからこのサービスを自由に開始(または停止)できます。
service pms start
そして、実際に実行されていることがわかります。
ただし、最初にマシンを起動すると、サービスは開始されません。ボックスにSSH接続して、サービスのステータスを確認すると、次のメッセージが表示されます。
$ service pms status
pms stop/waiting
私の質問は、なぜこれが起こっているのですか?ブート時にサービスが開始されないのはなぜですか?
更新1:私のサービスが開始され、その後死にかけているのか、まったく開始されていないのかがわからないため、次をPMS.shに追加しました。
echo "STARTED" > $STARTLOG
これは明らかに私が探すべきものを与えてくれます。自分でサービスを開始してからstart.logをチェックして、これをテストしました。次に、start.logを削除して再起動しました。再起動後には存在しなかったため、upstartがサービスを開始していないようです。私はそれがプロセスの初期の段階で死んでいる可能性があると思いますが、それがすべての単純さを考えると、それはむしろありそうにないようです。
更新2:アップスタートアップグレードを含む11.10にアップグレードしましたが、この問題は引き続き発生します。
更新3:要求どおり、で起動しました--debug
。catの出力は/var/log/syslog | grep init
長すぎて質問に入れることができませんが、ここで表示できます。
cat /var/log/syslog | grep init
で指示に従って使用した成り上がりのブートlogggingを有効にした後、成り上がりのデバッグ