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 回答