fork 문제 인거 같은데..
글쓴이: soohyk / 작성시간: 목, 2003/10/09 - 2:07오전
리눅스 공부한지 얼마안되는 초보입니다.
이번에 fork()함수를 이용해서 자식프로세서를 만들어 프로그램을 만들려고
합니다.
처음이라 잘 안되네요..^^
nt main(void) { int i,j; int data[100]; int result = 0; int pid; int status; pid = fork(); /* parent process */ if(pid>0){ for(i=0;i<5;i++){ data[i]=rand()%100; printf("data[%d]=%d\n",i,data[i]); } wait(&status); printf("sum of the generated number : %7d\n",result); exit(1); } /* child process */ if(pid=0){ sleep(2); for(j=0;j<5;j++){ result += data[i]; } } /* error check */ else{ printf("fork error.\n"); } return 0; }
이게 코드인데요..
출력 결과가 아래와 같네요..
data[0]=80
fork error.
data[1]=32
data[2]=35
data[3]=75
data[4]=85
sum of generated number : 0
이런식으로 나오네요..
검색해서 fork()에 대한 글을 많이 읽어보았는데....
아직 잘 이해가 안갑니다.
프로세스를 만드는것 까진 하겠는데.. 종료가 잘 안되는 것 같습니다.
관심가지고 읽어주셔서 감사합니당^^.
Forums:
[code:1] /* parent process */ if
(pid = 0) 이 아니라 if (pid == 0) 이겠죠??
>/dev/null 2>&1
헉..
이런 실수를..^^;;;
아무튼 답변 감사합니당.
인생은 한번뿐~!!
댓글 달기