init.dスクリプト:start-stop-daemonを使用してすべてのプロセスツリーを停止する方法

init.dスクリプト:start-stop-daemonを使用してすべてのプロセスツリーを停止する方法

実行中のサービスを正しく停止しない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オプションは削除する必要があります

おすすめ記事