私はいくつかのアプリケーションを実行するためのdaemontoolsを探索しています。これは、いくつかの出力も生成します(stdoutとstderrの両方で)。
Debianボックスにdaemontoolsをインストールしました。毎回、私はsvc -u /etc/service/myservice
サービスを開始するには、[defunct]
処理する。この問題をデバッグするにはどうすればよいですか。
以下は私の/etc/service/myservice/run
:
#!/bin/bash
exec myservice -c /etc/myservice/myservice.conf
および/etc/service/myservice/log/run
#!/bin/sh
exec multilog t ./main
どんな助けでも感謝されるでしょう。ありがとう。
ps -aux | grep readproctitle
でいくつかのエラーをキャッチできます。
いくつかのデバッグのアイデア:
myserver
はPATH
にありません。プログラムへのフルパスを指定することを検討してください。myserver
フォークをバックグラウンドに:これは、daemontoolsを使用して開始されたサービスでは明示的に禁止されています。run
スクリプトのパーミッションを再確認してください。私は同じ問題に直面しました。他に何も機能しなかったとき、これは私のために機能しました:
ps auxf
からsvscanbootのpidを見つけます。すべてのサービスを監視するsvscanを開始することがわかります。kill -9 -pid
。svscanbootが自動的に開始され、svscanの下にあるすべてのサービスも自動的に開始されます。
マシンにディスクスペースが残っていないときにsvcanの名前付きパイプが破損すると、問題が発生しました。