fork()로 자식을 만들고... exec하면 그 프로세스의 텍스트파트가 새로운 실행파일로 교체되
잖아요.. 혹시 그렇게 생성된 프로세스가 종료시에 어떤 작업을 하라고 등록하는 방법이
있나요? 예를 들어 exev하기전에 at_exit(clear);라고 하며 새로 생성된 프로세스는 종료직전에
clear()라는 함수를 꼭 실행하고 종료하는... 그런 것 말입니다.. 아님... 자식프로세스가 종
료되면 부모한테 SIGCHILD시그널을 보내는데 여러 자식이 있다면 그때 어떤 자식인지 pid를
부모가 확인 할 수 있나요? 고수님들의 답변 부탁드립니다..
fork 한 자식 프로세스의 종료 시 작업은 atexit 이 아니라 부모 쪽에서 SIGCHLD 를 처리하는 방식으로 합니다. 여러 자식이 있으면 waitpid 를 쓰면 종료한 자식의 pid 를 알 수 있습니다. exec 전에는 atexit 등록이 적용되지 않으니 자식 쪽 정리 작업은 부모에서 처리하세요.