고아 프로세스를 생성하지 않고 /sbin/runscript를 사용하여 /etc/init.d에서 프로그램을 시작합니다.

고아 프로세스를 생성하지 않고 /sbin/runscript를 사용하여 /etc/init.d에서 프로그램을 시작합니다.

/etc/init.d프로세스를 실행하는 스크립트가 있습니다. OpenRC이지만 /sbin/runscript시작되는 프로세스는 고아가 됩니다. 실제로 명령을 실행하면 다음과 같습니다.

ps -elf | awk '{if ($5 == 1){print $4" "$5" "$15}}'

이 고아 프로세스의 ppid 1이 표시됩니다. 즉, 고아 프로세스 생성을 방지하려면 어떻게 해야 합니까 /sbin/runscript? 일반 스크립트를 사용하면 wait프로세스를 실행하는 명령 뒤와 &스크립트를 시작하는 명령 끝에 넣을 수 있습니다 . 하지만 시작 스크립트를 사용하여 이 작업을 어떻게 수행할 수 있습니까?

초기화 스크립트의 내용은 다음과 같습니다.

start() { 
    ebegin "Starting ${RC_SVCNAME}" 
    start-stop-daemon --start --background --chdir "${HWBR_HOME}/Myscript" --exec "java" --make-pidfile --pidfile "${HWBR_MYSCRIPT_PIDFILE}" --stdout /dev/null -- -jar Myprocess.jar 
    rv=$? 
    eend $rv 
}

관련 정보