os background 관련 질문입니다.
글쓴이: inocent_xx / 작성시간: 화, 2012/10/09 - 7:35오후
리눅스상에서 c로 간단한 리눅스 쉘을 구현하는 작업을 하고 있는데요.
궁금한게 생겨서 질문 올립니다.
명령어를 입력받으면 해당 명령어를 실행하는 자식 프로세스가 생성이되는데요
실행시간이 오래 걸리는, 예를 들어 find / -a 명령어를 실행하였을 때,
부모 프로세스는 find 명령어가 종료되기를 기다리지 않고 새로운 명령어를 입력받는 프롬프트를 출력하는데
자식프로세스가 찾은 데이터를 계속 출력을 하기 때문에 새로운 명령어를 입력받을 수가 없습니다.;
waitpid로 자식 프로세스가 종료되기 전에 부모 프로세스를 사용하는 법은 알겠는데
자식 프로세스가 출력할 데이터를 실시간으로 출력하지 않고 모아놨다가 자식프로세스가 종료되는 시점에 한번에 출력하는 방법이 있는지 궁금합니다.
아시는분 계시면 좀 도와 주시면 감사하겠습니다. ㅜㅜ
Forums:
redirection을 구현하셔야 할 것 같은데요.
pipe와 같은것을 이용해서 redirection을 구현하신다음 부모 프로세스에서
처리해야겠죠. 자식 프로세스에서 출력한 결과물을 특정경로의 파일에 쌓아
놓았다가 waitpid호출 후 해당 파일의 내용을 출력해주는 형태로 변경하면
될 것 같네요.
댓글 달기