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(); 를 하면 되지 않을까요?
댓글 달기