Web上のさまざまなスタートガイドに基づいて、daemontoolsがインストールされていない状態から、単純なサービスを自動的に実行するようにするために使用している一連の手順は次のとおりです(Ubuntu 14.04の場合)。
$ Sudo apt-get install daemontools
$ Sudo apt-get install daemontools-run # not clear if this is necessary
$ Sudo apt-get install csh # unsure why csh would be needed to run dt
$ Sudo mkdir /service
$ Sudo mkdir /service/test
$ Sudo chmod 1755 /service/test
$ vi /service/test/run # see below
$ vi /etc/rc.local # see below
$ # tried power cycling here too
$ Sudo svstat /service/test # Why is supervise not running here?
/service/test/: supervise not running
$ Sudo supervise /service/test/ > /dev/null &
[1] 2747
$ Sudo svstat /service/test/
/service/test/: up (pid 2758) 1 seconds
#########################################################
# contents of /service/test/run:
#!/bin/sh
echo Running service
exec echo hello
#########################################################
# contents of /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
csh -cf '/usr/bin/svscanboot &'
exit 0
また、手動でsvscanboot
を実行すると、すぐに終了するようです(バックグラウンドで実行した場合も、ps aux出力に表示されません)。どのような設定手順が欠けていますか、または何が間違っていますか?
これは古い質問ですが、ソースからデーモンツールをインストールするときに同じ問題が発生しました。
次に、daemontools-runパッケージをインストールすると、動作を開始しました。
私はさらに少し進んで、何が新しいかを見回そうとしました。次の呼び出しで/ etc/inittabにファイルが見つかりました。
#-- daemontools-run begin
SV:123456:respawn:/usr/bin/svscanboot
#-- daemontools-run end