pipex 는 프로그램 실행 중 pipe를 사용하여 프로세스를 생성하고, 프로세스간의 통신을 설정하여 파일의 입출력을 처리하는 프로젝트입니다.
두 개의 외부 명령어와 두 개의 파일을 입력으로 받아서 실행합니다.
첫 번째 외부 명령어의 출력을 두 번째 외부 명령어의 입력으로 전달하며, 첫 번째 파일은 첫 번째 외부 명령어의 입력 파일로 사용되고, 두 번째 파일은 두 번째 외부 명령어의 출력 파일로 사용됩니다.
$> ./pipex file1 cmd1 cmd2 file2
[입력 순서: 파일1 명령어1 명령어2 파일2]
$> ./pipex infile "ls -l" "wc -l" outfile
0. 두 개의 파일, 두 개의 외부 명령어를 순서에 맞게 입력받습니다.
($> ./pipex infile "ls -l" "wc -l" outfile)
1. 입력받은 파일 및 명령어가 조건에 맞게 올바르게 왔는지 체크하고, info 구조체에 저장합니다.
- 조건에 맞지 않는 에러가 발생하면 에러를 표시하고 종료
2. pipe 를 사용하여 파이프를 생성하고, fork 를 사용하여 첫번째 자식 프로세스를 생성합니다.
3.