実行中のサービスを正しく停止しないinit.dスクリプトを作成しました。
start() {
echo "Starting Server"
rm -f $LOGFILE
start-stop-daemon --start --background --chuid $USER:$GROUP --pidfile $PIDFILE --make-pidfile --chdir $PATH --startas /bin/bash -- -c "exec $BIN -f $CONFIG | gawk -E $FILTER > $LOGFILE"
}
stop() {
echo "Stopping Server"
start-stop-daemon --stop --quiet --pidfile $PIDFILE
}
サービスを開始するとプロセスツリーが作成され、stop()はデフォルトプロセスではなくシェルのみを終了します。 PIDを使用する必要があります。複数インスタンスサービスを開始するには
誰もが正しい方法を知っていますか?ありがとう
答え1
pidfile
サービスは終了するデーモンを生成する必要があります。この--make-pidfile
オプションは削除する必要があります