게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
공부하다가 잘 몰라서 질문 하려하는데요.. 시간 괜찮으시면 봐주세요
게시물ID : programmer_2850짧은주소 복사하기
작성자 : 실실이
추천 : 0
조회수 : 284회
댓글수 : 5개
등록시간 : 2014/04/24 00:23:09
#include <unistd.h>
#include <sys/types.h>

main()
{
pid_t pid1, pid2;
int status;

pid1 = pid2 = -1;

pid1 = fork();
if(pid1 > 0)
pid2 = fork();

if(pid1 > 0 && pid2 > 0)
{
waitpid(pid2, &status, 0);
printf("parent : child2 - exit(%d)n", status);
waitpid(pid1, &status, 0);
printf("parent : child1 - esit(%d)n", status);
}
else if(pid1 == 0 && pid2 == -1)
{
sleep(1);
exit(1);
}
else if(pid1 > 0 && pid2 == 0)
{
sleep(2);
exit(2);
}
else
printf("fail to forkn");
}

여기서 -1 하는 이유가 뭔지 잘 몰라서요... else if 에서는 자식 프로세스 실행하는거면 

else if(pid1 == 0)
{
sleep(1);
exit(1);
}
else if(pid2 == 0)
{
sleep(2);
exit(2);
}

이렇게 해도 되는거 아닌가요??

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호