감시 명령을 중단하는 방법은 무엇입니까?

감시 명령을 중단하는 방법은 무엇입니까?

일부 정보를 stdout에 인쇄하고 다음과 같이 실행하는 프로그램이 있습니다.

watch -n 0.1 myprogram

myprogram내 문제는 시스템 전체의 뮤텍스를 해제하기 위해 적절한 소멸자를 호출하여 깔끔하게 종료 해야 한다는 것입니다 . CTRL+를 누르면 죽고 깔끔하게 C나갈 기회가 없습니다.watchmyprogram

watch반환하기 전에 하위 프로세스가 완료될 때까지 기다리도록 깔끔하게 종료하는 방법이 있습니까 ?

페이지 man는 간단히 다음과 같이 말합니다.

보다중단될 때까지 실행됩니다.

답변1

질문의 첫 번째 부분에 대해 "시계를 깔끔하게 종료하는 방법이 있나요?"예, 신호를 보내 프로세스를 중지할 수 있습니다.

먼저 당신이 필요합니다실행 중인 프로세스 ID(PID)를 알아보세요.watch. 이름으로 이 작업을 수행할 수 있습니다.

pidof watch

또는 사용자에 의해 그리고Unix/linux에서 특정 사용자가 생성한 프로세스를 보는 방법

ps -u ${USER} | grep -i watch | cut -d " " -f 1

그런 다음watch신호를 보내서 중지하세요.좋다

kill -IT ${PID}
kill -INT $(pidof watch)

질문의 두 번째 부분이 더 많습니다.신호 처리 정보.

관련 정보