Warning: count(): Parameter must be an array or an object that implements Countable in /customers/2/7/7/fairbar.dk/httpd.www/wp-includes/post-template.php on line 284

pthread_kill 예제

By 2. augustIkke-kategoriseret

가용성: 유닉스(자세한 내용은 맨 페이지 pthread_kill(3) 참조). 이것은 두 가지 표준 신호 처리 옵션 중 하나입니다. 그것은 단순히 신호에 대한 기본 기능을 수행합니다. 예를 들어 대부분의 시스템에서 SIGQUIT의 기본 작업은 코어를 덤프하고 종료하는 반면 SIGCHLD의 기본 작업은 단순히 무시하는 것입니다. 모든 신호 번호는 상징적으로 정의됩니다. 예를 들어, 행업 신호는 신호로 정의됩니다. 한숨; 변수 이름은 에 있는 C 프로그램에 사용된 이름과 동일합니다. `signal()`에 대한 유닉스 맨 페이지는 기존 신호를 나열합니다(일부 시스템에서는 신호(2), 다른 시스템에서는 목록이 신호(7)에 있습니다). 모든 시스템에서 동일한 신호 이름 집합을 정의하는 것은 아닙니다.

시스템에 의해 정의된 이름만 이 모듈에 의해 정의됩니다. 다음은 최소 예제 프로그램입니다. alarm() 함수를 사용하여 파일을 열기 위해 기다리는 시간을 제한합니다. 이 기능은 파일이 켜져 있지 않을 수 있는 직렬 장치에 대한 것이며, 일반적으로 os.open()이 무기한 중단되는 경우에 유용합니다. 해결책은 파일을 열기 전에 5 초 경보를 설정하는 것입니다. 작업이 너무 오래 걸리면 경보 신호가 전송되고 처리기가 예외를 발생시면 됩니다. 예를 들어 signal.pthread_sigmask(신호)를 예로 들 수 있습니다. SIG_BLOCK, []) 호출 스레드의 신호 마스크를 읽습니다. pthread_kill()은 지정된 스레드의 컨텍스트에서만 신호를 처리합니다.

신호 동작(종료 또는 중지)은 프로세스 전체에 영향을 미칩니다. 이 코드는 pthread_kill() 함수를 사용하여 생성된 스레드에 SIGTERM 신호를 보냅니다. 스레드는 신호를 수신하고 전체 프로세스가 종료됩니다. 파이썬 신호 처리기는 낮은 수준(C) 신호 처리기 내에서 실행되지 않습니다. 대신, 낮은 수준의 신호 처리기는 나중에 해당 파이썬 신호 처리기를 실행 하도록 가상 머신을 지시 하는 플래그를 설정 합니다 (예를 들어 다음 바이트 코드 명령에서). pthread_kill() 함수는 호출 프로세스의 스레드에서 신호를 비동기적으로 지시하는 메커니즘을 제공합니다. 예를 들어 한 스레드에서 신호를 스레드 집합으로 브로드캐스트하여 전송하는 데 영향을 주는 데 사용할 수 있습니다. Ctrl+C 키 입력 이벤트에 해당하는 신호입니다. 이 신호는 os.kill()에서만 사용할 수 있습니다.

마스크는 신호 번호 집합입니다(예: {신호) 시진트, 신호. 시그용어}). 사용 범위(1, 신호) NSIG)는 모든 신호를 포함하는 전체 마스크에 대해. C에서만 구현된 장기 실행 계산(예: 큰 텍스트본문에 정규식 일치)은 수신된 신호에 관계없이 임의의 시간 동안 중단 없이 실행될 수 있습니다.

leder

Author leder

More posts by leder