c언어 초보 질문 드립니다..

KnGer의 이미지

질문좀...파이프 생성해서 ls 명령의 출력을 입력으로 sort를 수행해보려 하는데 안되네요...

int main(int argc, const char *argv[])
{
        int i=0;
        int pipes[2];
        char buffer[BUFSIZ+1];
 
        if(pipe(pipes)==0){
                pid_t fork_result = fork();
 
                if(fork_result == -1){
                        fprintf(stderr,"Fork failure");
                        exit(EXIT_FAILURE);
                }
 
                if(fork_result == 0){
                        close(0);
                        dup(pipes[0]);
                        read(pipes[0],buffer,BUFSIZ);
                        close(pipes[0]);
                        close(pipes[1]);
                        system("sort");
                }
 
                else{
                        close(pipes[0]);
                        close(1);
                        dup(pipes[1]);
                        system("ls");
                }
        }
}