起動時にUpstartユーザージョブを実行する


8

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ちょうど成り上がりを使用して、それを行う方法がある場合、私は興味があります。

回答:


8

問題は、ユーザーがいずれかのinitctlコマンドを実行してUpstartセッションを作成するまで、ユーザージョブがUpstartに読み込まれないことです。

http://bradleyayers.blogspot.com.au/2012/04/enabling-upstart-user-jobs-to-start-at.htmlで詳細に説明し、また、問題。


upstart.ubuntu.com/cookbook/…に記載されている別の方法があります。ただし、バグがあります。「start session_init」を「start session-init」に変更する必要があります。
natevw 2014年

-1

などのソースを見てみる/etc/init/mysql.confhttp://upstart.ubuntu.com/cookbook/#start-onそれは私には思えるあなたは変更する必要がありstart on、このような何かに行を:

start on (mysql and runlevel [2345])

upstartにドキュメントがないことに同意するかどうかはわかりませんが、ドキュメントを理解するのに苦労することがあります。私は通常、動作するまで試行錯誤を繰り返します。上記の解決策は実際にはやり過ぎかもしれません...これで十分かもしれないほど単純なもの:

start on mysql

upstartに一般的なドキュメントが不足しているわけではなく、/ home / $ USER / .initに配置されたジョブ(/ etc / initに配置されたジョブではない)に関するユーザーのジョブに関するドキュメントがあまりないということです。
dgel、

私はあなたの提案を試みましたが、違いはありませんでした。それは私のstart onラインの問題ではありませんが、upstartが起動時に/ etc / initをロードするだけで、ユーザーのinitファイルはロードしないという事実だけです$HOME/.init
dgel

申し訳ありませんが、これはユーザーの仕事であり、の仕事ではないことを忘れました/etc/init。そのため、ドキュメントが不足しているように見え、~/.initスクリプトを確実に開始する方法がわかりません。
カールズラウフ

私が見つけたドキュメントは、$HOME/.initジョブがデフォルトで有効になっておらず、いくつかの変更/etc/dbus-1/system.d/Upstart.confが必要になる可能性があることを示しています。upstart.ubuntu.com/cookbook/#run-a-job-as-a-different-user
Carl Zulauf
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.