次の/etc/init.d/nagios-nrpe-server起動スクリプトのstart_daemonを理解しようとしています。
start)
if [ "$INETD" = 1 ]; then
exit 1
fi
log_daemon_msg "Starting $DESC" "$NAME"
start_daemon -p $PIDDIR/nrpe.pid $NICENESS $DAEMON -c $CONFIG -d $DAEMON_OPTS
log_end_msg $?
;;
特に、このサービスを開始すると、期待どおりにPIDファイルが書き込まれないため、stop service nagios-nrpe-server
コマンドが機能しません(プロセスを手動で強制終了する必要があります)。
問題のトラブルシューティング方法を見つけようとしていますが、コマンドラインからstart_daemon ...
を実行できません。
スクリプトが何をしているのかを手動で再現して、問題の内容に取り組むことができます。
/lib/lsb/init-functions
のシェル関数です。 initスクリプトの前半で. /lib/lsb/init-functions
が表示されるはずです。
シェルスクリプトの関数呼び出しのように見えます。
Bashマニュアル(man bash
)を確認し、„ Shell function definition”(/
コマンド)を検索します。