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()은 기본 프로세스가 아닌 쉘만 종료합니다 $BIN 래퍼 스크립트 만들기 등 많은 것을 시도했지만 여전히 같은 문제가 발생합니다. PID를 사용해야 합니다. 여러 인스턴스 서비스를 시작하려면

누구든지 올바른 방법을 알고 있습니까? 감사해요

답변1

pidfile귀하의 서비스는 종료할 데몬을 생성해야 합니다 . 이 --make-pidfile옵션은 제거되어야 합니다

관련 정보