2012-10-26 4 views
0

내 프로그램이 'killall myApplication'명령에 의해 종료 될 때 반응하도록합니다. 그래서 뭔가를 저장하고 종료 할 수 있습니다. 이것이 신호 처리에 의해 수행되어야한다는 것을 알고 있지만 죽을 때 어떤 Singal인지를 확신하지 못합니다.프로세스 죽이기 처리 (C++)

+0

'killall' 맨 페이지를 읽으십시오. 텍스트의 맨 처음 줄은 어떤 신호가 보내 졌는지 알려줍니다. – Mat

+0

약간의 도움 [여기] (http://rackerhacker.com/2010/03/18/sigterm-vs-sigkill/). – Bojangles

+0

또한 여기를보십시오 : http://stackoverflow.com/questions/1394250/detect-program-termination-c-windows – akluth

답변

2

killall 또는 killall -9? 은 SIGKILL을 의미하기 때문에 처리하거나 마스크 할 수 없습니다 (프로세스가 어떤 신호가 보내지는 생각없이 즉시 스케줄러에서 종료됩니다).

이 없으면 처리 할 수있는 SIGTERM이됩니다. man signal을 살펴보십시오.

+0

저는 임베디드 시스템에 있고 gpio 이벤트는 'killall myApp'명령을 실행합니다. 그런 다음 응용 프로그램은 fflush()를 호출하여 디스크에 기록해야합니다. 신호 처리 기능에서 이러한 호출이 허용됩니까? – tzippy

+0

@tzippy 제 지식에 따르면 신호 처리기에서 무엇이든 할 수 있습니다. –

관련 문제