%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EB%8B%A4.%20%EB%AA%85%EB%A0%B9%EC%9D%B4%2010%EC%B4%88%20%EB%82%B4%EC%97%90%20%EC%99%84%EB%A3%8C%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9C%BC%EB%A9%B4%20%EB%8B%A4%EB%A5%B8%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EB%8B%A4..png)
(Debian) Linux에서 다음을 원합니다:
- 명령을 실행합니다.
- 명령이 10초 내에 완료되지 않으면 해당 명령을 종료하고 다른 명령을 시도하십시오.
사용 사례는 다음과 같습니다.
정상적으로 종료하고 싶은 데몬 서비스가 있습니다. TCP 명령을 전송하여 중지할 수 있습니다. TCP 명령이 반환되지 않으면 Posix HUP를 사용하여 프로세스를 종료합니다.
start-stop-daemon이 이 작업을 수행하지 않는 것 같습니다. 누구든지 힌트를 얻을 수 있습니까?
답변1
나는 또한 구현된 데비안 사람들에게 메달을 주지 않았습니다 start-stop-daemon
.
내 생각에는 일부 데몬에 대한 해결 방법을 만들고 싶은 것 같습니다. timeout
GNU 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
.
나는 이 정보를 부분적으로 다음으로부터 얻습니다.이것질문.