C,C++ & Linux
C/C++ waitid(2)
KyooDong
2020. 6. 4. 00:43
728x90
함수 기능
프로세스의 종료 상태를 회수하는 함수입니다.
waitpid 보다 유연한 함수이지만 그렇게 많이 쓰이지는 않는것 같습니다.
함수 원형
#include <sys/wait.h>
#include <sys/types.h>
int waitid(idtype_t idtype, id_t id, siginfo_t *siginfop, int options);
매개변수
idtype
id 의 역할이 idtype 에 따라 바뀝니다.
options | 용도 |
P_PID | 특정 프로세스를 기다림 |
P_PGID | 특정 프로세스 그룹에 속한 임의의 자식 프로세스를 기다림 |
P_ALL | 임의의 자식 프로세스를 기다림 id 는 무시함 |
id
idtype 에 맞추어서 pid 또는 pgid 를 적절하게 사용하면 됩니다.
siginfop
자식 프로세스의 상태를 변화시킨 시그널에 대한 상세한 정보를 담아줍니다.
options
Options | 용도 |
WCONTINUED | 중지되었다가 다시 재개되었으나 아직 상태가 보고되지 않은 프로세스를 기다림 |
WEXITED | 종료된 프로세스를 기다림 |
WNOHANG | 상태를 알 수 없는 자식들이 없어도 호출이 차단되지 않고 즉시 리턴됨 |
WNOWAIT | 자식의 종료 상태를 파괴하지 않고 이후 wait, waitid, waitpid 호출로 다시 조회하는게 가능 |
WSTOPPED | 중지되었으나 아직 그 상태가 보고되지 않은 프로세스를 기다림 |
반환값
성공 시 0 에러 시 -1 리턴
리눅스시스템프로그래밍 저자 : 홍지만
https://book.naver.com/bookdb/book_detail.nhn?bid=14623672
책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)