sigusr1 사용하는데 질문드립니다.
글쓴이: dkdlfkdlzm / 작성시간: 수, 2017/05/03 - 3:12오전
자식프로세스에서 부모프로세스로 시그널을 보내려합니다.
코드를 간단히 표현하면 이런식인데 parent 부분에서 출력이 안나오네요 어떻게해야하나요?
void sighandler(int signum) { if(signum == SIGUSR1){ printf("succcess\n"); } else{ printf("fail\n"); } } int main(int argc, char *argv[]) { pid_t pid; pid = fork(); struct sigaction sa2; sa2.sa_handler = sighandler; sa2.sa_flags=0; sigemptyset(&sa2.sa_mask); sigaction(SIGUSR1,&sa2,NULL); if(pid==0){ { kill(getppid(),SIGUSR1); exit(0); } //parent signal(SIGUSR1,sighandler); }
Forums:
소스코드는 code 태그 안에 넣어 주세요.
소스코드는 code 태그 안에 넣어 주세요.
세벌 https://sebuls.blogspot.kr/
수정했습니다!
수정했습니다!
시그널 핸들러를 등록하는 코드가 실행 되기 전에 자식
시그널 핸들러를 등록하는 코드가 실행 되기 전에 자식 프로세스가 부모한테 시그널을 던졌을수도 있습니다.
시그널 핸들러는 등록하는 코드 위치를 바꿔보세요.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
댓글 달기