wait () SIGCHLD 및 종료 상태

북극

종료 상태와 SIGCHLDLinux 의 차이점은 무엇입니까 ?

자식이 종료 SIGCHLD된 후 부모를 활성화하기 위한 신호가 전송됩니다 (에 의해 차단됨 wait()). 왜 자식의 종료 상태가 필요한가요? SIGCHLD와 종료 상태 사이의 링크를 찾을 수 없습니다 .

데이비드 R 트리블

자식 프로세스의 종료 상태는 exit()(또는 _exit()) 시스템 호출을 통해 부모 프로세스로 반환되는 값 입니다. 이것은 일반적으로 자식 프로세스의 성공 또는 실패를 나타내는 간단한 정수입니다. 여기서 0은 성공을 나타냅니다 (일반적으로).

SIGCHLD는 자식이 종료 될 때 부모 프로세스로 보내는 신호입니다. 대기중인 부모에게 자녀가 종료되었음을 알립니다.

이 둘의 조합은 자식 프로세스의 실행 결과를 부모에게 다시 전달하는 데 사용됩니다. 신호는 자식이 종료되었을 때 부모에게 알려주고 종료 상태는 자식의 실행 결과가 무엇인지 부모에게 알려줍니다. 그것이 신호 (또는에서 반환받을 때까지 부모는 자녀의 종료 상태를 검색 할 수 없습니다 wait()또는 waitpid()아이가 종료되었음을 나타내는).

자식은 여러 방법 (다양한 IPC 메커니즘, 파일 I / O 등)으로 실행 결과를 부모에게 다시 전달할 수 있지만 가장 간단한 방법은 자식에서 부모로 정수 상태 코드를 사용 exit()하고 wait()보내는 것입니다.

부모 프로세스가 자식 실행 상태에 관심이없는 경우에서 반환 된 자식의 종료 코드를 무시할 수 있습니다 wait(). 반면에 복잡한 시스템은 fork()하위 프로세스의 새 인스턴스 를 다시 시작 ( ) 하기 위해 종료 상태가 무엇인지 알아야 하거나 하위 프로세스가 완료 한 경우 (또는 완료하지 않은 경우) 다른 프로그램을 실행해야 할 수 있습니다. 제대로 작업하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

종료 상태 및 출력 없음

분류에서Dev

Linux 종료 상태 및 모든 상태 목록

분류에서Dev

systemctl-서비스 종료 코드 및 상태 정보 설명

분류에서Dev

systemctl-서비스 종료 코드 및 상태 정보 설명

분류에서Dev

Powershell 종료 상태

분류에서Dev

함수에서`wait` 명령의 종료 상태를 변수에 할당

분류에서Dev

부모 프로세스가 종료 상태를 수집하지 못한 경우 커널이 다시 SIGCHLD 전송을 시도합니다.

분류에서Dev

Apache Camel : wireTap 및 정상 종료

분류에서Dev

CSS3 애니메이션 : 비활성, 활성 및 추가 '종료'상태?

분류에서Dev

파이프 및 변수로 grep 종료 상태 테스트 실패

분류에서Dev

라우팅이 포함 된 사용자 지정 상태 입력 및 상태 종료 코드

분류에서Dev

라우팅이 포함 된 사용자 지정 상태 입력 및 상태 종료 코드

분류에서Dev

앱의 백그라운드 상태 및 종료 된 상태에 표시되지 않는 알림

분류에서Dev

Anacron 종료 상태 128

분류에서Dev

신호 순서 : SIGPOLL 및 SIGCHLD

분류에서Dev

Cassandra에 대한 모든 TCP 연결 b / w DataStax 드라이버는 활성 종료 상태로 유지됩니다. 즉 TIME_WAIT 상태.

분류에서Dev

C에서 CreateProcessA, Wait 및 ExitCode-잘못된 종료 코드 가져 오기

분류에서Dev

NgRx 및 RxJS : 종속 상태 선택기

분류에서Dev

UISwipeGestureRecognizer 상태는 항상 종료 됨

분류에서Dev

Ruby 시스템 종료 상태 상수

분류에서Dev

RaspberryPi 3b + 및 docker compose 문제 : 빌드 종속성 설치 : '오류'상태로 완료 됨

분류에서Dev

Junit 및 jenkins org.junit.contrib.java.lang.system.internal.CheckExitCalled : 상태 0으로 종료하려고했습니다.

분류에서Dev

IOS 7 및 멀티 태스킹에서 종료 된 앱

분류에서Dev

XSD 유효성 검사 : 시작 및 종료 태그 불일치

분류에서Dev

set -e 및 / 또는 트랩이 활성 상태 임에도 불구하고 Bash 종료 상태가 포착되지 않음

분류에서Dev

코어 덤프의 종료 상태

분류에서Dev

코어 덤프의 종료 상태

분류에서Dev

메인 종료 상태 확인

분류에서Dev

bash 스크립트의 종료 상태

Related 관련 기사

  1. 1

    종료 상태 및 출력 없음

  2. 2

    Linux 종료 상태 및 모든 상태 목록

  3. 3

    systemctl-서비스 종료 코드 및 상태 정보 설명

  4. 4

    systemctl-서비스 종료 코드 및 상태 정보 설명

  5. 5

    Powershell 종료 상태

  6. 6

    함수에서`wait` 명령의 종료 상태를 변수에 할당

  7. 7

    부모 프로세스가 종료 상태를 수집하지 못한 경우 커널이 다시 SIGCHLD 전송을 시도합니다.

  8. 8

    Apache Camel : wireTap 및 정상 종료

  9. 9

    CSS3 애니메이션 : 비활성, 활성 및 추가 '종료'상태?

  10. 10

    파이프 및 변수로 grep 종료 상태 테스트 실패

  11. 11

    라우팅이 포함 된 사용자 지정 상태 입력 및 상태 종료 코드

  12. 12

    라우팅이 포함 된 사용자 지정 상태 입력 및 상태 종료 코드

  13. 13

    앱의 백그라운드 상태 및 종료 된 상태에 표시되지 않는 알림

  14. 14

    Anacron 종료 상태 128

  15. 15

    신호 순서 : SIGPOLL 및 SIGCHLD

  16. 16

    Cassandra에 대한 모든 TCP 연결 b / w DataStax 드라이버는 활성 종료 상태로 유지됩니다. 즉 TIME_WAIT 상태.

  17. 17

    C에서 CreateProcessA, Wait 및 ExitCode-잘못된 종료 코드 가져 오기

  18. 18

    NgRx 및 RxJS : 종속 상태 선택기

  19. 19

    UISwipeGestureRecognizer 상태는 항상 종료 됨

  20. 20

    Ruby 시스템 종료 상태 상수

  21. 21

    RaspberryPi 3b + 및 docker compose 문제 : 빌드 종속성 설치 : '오류'상태로 완료 됨

  22. 22

    Junit 및 jenkins org.junit.contrib.java.lang.system.internal.CheckExitCalled : 상태 0으로 종료하려고했습니다.

  23. 23

    IOS 7 및 멀티 태스킹에서 종료 된 앱

  24. 24

    XSD 유효성 검사 : 시작 및 종료 태그 불일치

  25. 25

    set -e 및 / 또는 트랩이 활성 상태 임에도 불구하고 Bash 종료 상태가 포착되지 않음

  26. 26

    코어 덤프의 종료 상태

  27. 27

    코어 덤프의 종료 상태

  28. 28

    메인 종료 상태 확인

  29. 29

    bash 스크립트의 종료 상태

뜨겁다태그

보관