0

c の Linux デーモンと、それを起動するための bash スクリプトがあります。構成ファイルのエラーが原因でデーモンが起動しないことがありますが、スクリプトはデーモンが正常に起動したことを報告します。スクリプトのスニペットを以下に示します。スクリプトの何が問題なのか教えていただけますか?

...
case "$1" in
start)
echo -n "Starting Demo Daemon: "
sudo -u demouser env DEMO_HOME=$DEMO_HOME /usr/local/demouser/bin/democtl startup > /dev/null 2> /dev/null
if [ "$?" = "0" ]; then
    echo_success
else
    echo_failure
fi
echo
;;
...

ありがとう!

4

2 に答える 2

6

スクリプトに問題はないと思います。適切に起動できなかった場合にゼロ以外の終了ステータスを返すのはデーモンの責任であり、それらに基づいてスクリプトはメッセージを表示します。

于 2009-09-21T10:12:01.733 に答える
0

スクリプトに次の行を追加して、Linux デーモンの実行ステータスを取得できます。

status=`ps -aef |grep "\/usr\/local\/demouser\/bin\/democtl" |grep -v grep|wc -l`
if [ "$status" = "1" ]; then
  echo_success
else
  echo_failure
fi
于 2013-02-05T10:07:47.243 に答える