2014-11-27 2 views
-2

C 프로그램에서 신호의 실제 관련성은 무엇입니까? 어디서 신호가 필요한가요? 신호를 생성하는이 주제에서 혼란스럽고 감정이 상달합니다.C에서 신호의 실제 관련성

+2

'kill -9 yourapp'. 팔. 앱을 죽이는 신호. –

+0

C에는 신호에 대한 본질적인 지원이 없습니다. –

+1

@MartinJames : 아니요? ''은 표준 라이브러리의 일부입니다 ... – Deduplicator

답변

0

신호는 원래 UNIX 버전의 프로세스와 통신 한 신호이므로 C 신호입니다.

그들은 프로세스가 "내 구성 파일을 다시 읽음"과 같은 외부 요청에 응답하도록하는 매우 간단한 방법입니다.

R & R 장은 좋은 소개지만 C 표준을 읽고 정의 된 내용을 확인하십시오. 특히 신호 처리기에서 수행 할 수있는 유일한 휴대용 작업은 프로세스를 중단하거나 기본 실행 스레드가 기한 내에 체크인 할 원자 플래그를 설정하는 것입니다. 실제로, 사람들은 시스템 콜을 만드는 것과 같이 시그널 핸들러에서 더 복잡한 일을합니다.

1

신호는 프로세스가 서로 비동기 적으로 통신 할 수있는 간단한 방법입니다. 따라서 프로세스가 신호를 생성하는 것은 놀랄 일이 아닙니다.

+0

누가 신호를 생성합니까? 사용자 또는 시스템? – SJ26

+0

둘 중 하나; 또는 좀 더 정식으로, 신호를 요청할 수 있습니다. –

+0

어떻게 신호를 요청할 수 있습니까? 다른 프로세스 또는 시스템으로부터의 요청입니까? – SJ26

0

신호는 C 프로그램에서 비동기 인터럽트를 지원하는 방법을 제공합니다. 즉, C 스펙은 신호에 대해 지정된 동작을 거의 완전히 갖지 않으므로 구현에 본질적으로 전적으로 의존하기 때문에 신호를 사용하는 이식 가능한 코드를 작성하는 것은 거의 불가능합니다. 정확한 신호가 무엇인지 확인하려면 구현을 위해 설명서를주의 깊게 읽어야합니다.