fgets()으로 파일을 읽는데 파일 라인수보다 더 많이 리턴됩니다
      글쓴이: s0me / 작성시간: 토, 2004/11/27 - 9:58오후    
  
  
while(fgets(....) != NULL)
{
     pipe(..);
     pid_t pid = fork();
     if(pid == 0)
     {
         close(p[0]); close(1); dup(p[1]);
          execv(...cmd);
     }
      else if(pid == -1)  perror("fork");
     read(0, ...... );
}
파일을 한줄 읽고 ...파일에 적혀있는 커맨드를 실행해서(execv)
결과값을 파이트로 가져오는 형태입니다.
문제는 파일은 4줄인데 총 7번 실행이 되고 있습니다.
fork() 부분을 주석처리하면 정확하게 4번 루프가 돌구요.
흠... fork()가 어디가 세는것 같기도 한데..
셀만한데가 보이질 않네요.
Forums: 


execv(); 다음에 exit(); 를 하면 되지 않을까요?
execv(); 다음에 exit(); 를 하면 되지 않을까요?
댓글 달기