web-dev-qa-db-ja.com

デーモンツール:何が悪いのかを見つける方法は?

私はいくつかのアプリケーションを実行するための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

どんな助けでも感謝されるでしょう。ありがとう。

2
Lazylabs

ps -aux | grep readproctitleでいくつかのエラーをキャッチできます。

いくつかのデバッグのアイデア:

  • myserverPATHにありません。プログラムへのフルパスを指定することを検討してください。
  • myserverフォークをバックグラウンドに:これは、daemontoolsを使用して開始されたサービスでは明示的に禁止されています。
  • パーミッション:ディレクトリとrunスクリプトのパーミッションを再確認してください。
3
Oliver

私は同じ問題に直面しました。他に何も機能しなかったとき、これは私のために機能しました:

  • ps auxfからsvscanbootのpidを見つけます。すべてのサービスを監視するsvscanを開始することがわかります。
  • kill -9 -pid

svscanbootが自動的に開始され、svscanの下にあるすべてのサービスも自動的に開始されます。

マシンにディスクスペースが残っていないときにsvcanの名前付きパイプが破損すると、問題が発生しました。

1
Rajat Gupta