0
그래서 부모가 파일을 열고 버퍼에 내용을 읽고 쓰기 끝 (fd [1])에서 읽기 끝까지 버퍼를 보내는 fork() 을 사용했습니다. fd [0])grep을 표준 입력으로 사용
하위 프로세스는 버퍼를 읽습니다. 나는 fd [0]에있는 모든 것을 stdin으로 리다이렉션하기를 원하기 때문에 유닉스 명령을 사용할 수있다. 예를 들면 :
// in child process
dup2(fd[0], 0); // 0 is STDIN
// Don't know what to do here
execl("/bin/grep/", "grep", "hello", NULL); // find the string 'hello' and operate on the content coming from stdin
어떤 도움을 주시면 감사하겠습니다.
중 하나가 작동하지 않습니다. 나는 dup2()를 호출하기 전에 fd [1]를 닫고 나서 자식이 종료되기 전에 fd [0]을 닫습니다. 그러나 그것도 작동하지 않았습니다. –
@ Phil Kurtis : 답변을 업데이트했습니다. – SKi