(initscripts) 명령을 실행합니다. 명령이 10초 내에 완료되지 않으면 다른 명령을 실행합니다.

(initscripts) 명령을 실행합니다. 명령이 10초 내에 완료되지 않으면 다른 명령을 실행합니다.

(Debian) Linux에서 다음을 원합니다:

  • 명령을 실행합니다.
  • 명령이 10초 내에 완료되지 않으면 해당 명령을 종료하고 다른 명령을 시도하십시오.

사용 사례는 다음과 같습니다.

정상적으로 종료하고 싶은 데몬 서비스가 있습니다. TCP 명령을 전송하여 중지할 수 있습니다. TCP 명령이 반환되지 않으면 Posix HUP를 사용하여 프로세스를 종료합니다.

start-stop-daemon이 이 작업을 수행하지 않는 것 같습니다. 누구든지 힌트를 얻을 수 있습니까?

답변1

나는 또한 구현된 데비안 사람들에게 메달을 주지 않았습니다 start-stop-daemon.

내 생각에는 일부 데몬에 대한 해결 방법을 만들고 싶은 것 같습니다. timeoutGNU CoreUtils 패키지에는 이 작업을 수행하는 데 도움이 되는 도구가 있습니다 .

timeout --kill-after=15 --signal=9 this_is_my_command || this_will_run_on_fail

가 실행되고 this_is_my_command, 시간 초과가 발생하면 신호 9(하드 킬)로 이를 종료하고 명령을 실행합니다 this_will_run_on_fail.

나는 이 정보를 부분적으로 다음으로부터 얻습니다.이것질문.

관련 정보