Home
Dev Joon
Cancel

[42Seoul] pipex (3) 구현 과정

회고 어서와, 멀티 프로세스는 처음이지? 그동안 수행했던 과제들은 모두 하나의 프로세스를 사용했다. 이번 과제는 처음으로 멀티 프로세스를 구현하고, 프로세스 간 통신(IPC)을 위해 파이프를 사용했다. 처음 보는 개념이 많다보니 이해하는데 시간이 꽤 걸렸다. 게다가 멀티 프로세스는 디버깅을 하는 것이 어려워서 디버깅에도 시간을 많이 썼다. ...

[42Seoul] pipex (2) 허용 함수 정리 : waitpid

waitpid #include <sys/wait.h> pid_t waitpid(pid_t pid, int *status, int options); 인자로 넘기는 pid 자식 프로세스가 끝나기를 기다리는 함수이다. status 변수에는 자식 프로세스가 종료할 때 보내는 시그널 또는 exit code 를 저장한다. options 는 ...

[42Seoul] pipex (2) 허용 함수 정리 : wait

wait #include <sys/wait.h> pid_t wait(int *status); 자식 프로세스가 끝나기를 기다리는 함수이다. status 변수에는 자식 프로세스가 종료할 때 보내는 시그널 또는 exit code 를 저장한다. 반환값 자식 프로세스가 멈추거나 종료되면 종료된 자식 프로세스의 프로세스 아이디(pid...

[42Seoul] pipex (2) 허용 함수 정리 : unlink

unlink #include <unistd.h> int unlink(const char *file); unlink 함수는 파일을 삭제하는 함수이다. 소프트 링크, 하드 링크 모두 적용된다. 링크를 지우면 링크 개수를 1개 감소시킨다. 만약, 소프트 링크의 원본 파일을 지우면 소프트 링크는 더 이상 사용할 수 없게 된다. 반환값 ...

[42Seoul] pipex (2) 허용 함수 정리 : pipe

pipe #include <unistd.h> int pipe(int fildes[2]); 크기가 2인 int 배열에 한 쪽에서는 데이터를 쓰고, 다른 한 쪽에서는 데이터를 읽을 수 있는 데이터 통신 파일 디스크립터를 만드는 함수이다. 첫 번째 원소인 fildes[0] 는 파이프의 read end 이고, 두 번째 원소인 fildes[...

[42Seoul] pipex (2) 허용 함수 정리 : fork

fork #include <unistd.h> pid_t fork(void); fork 함수는 자식 프로세스를 생성하는 함수이다. 반환값 부모 프로세스에서는 자식 프로세스의 프로세스 아이디(pid)를 받는다. 자식 프로세스에서는 0을 받는다. 오류 발생 시 -1 을 받는다. 예시 코드 #include <uni...

[42Seoul] pipex (2) 허용 함수 정리 : execve

execve #include <unistd.h> int execve(const char *file, char *const argv[], char *const envp[]); execve 함수는 실행하고자 하는 file 에 인자로 argv 와 환경변수인 evnp 를 전달해서 file 을 실행하여 새로운 프로세스를 생성하는 함수이다. ...

[42Seoul] pipex (2) 허용 함수 정리 : dup2

dup2 #include <unistd.h> int dup2(int src_fildes, int dest_fildes); dup2 함수는 첫 번째 매개변수로 복사하고자 하는 파일 디스크립터(src_fildes)를 두 번째 매개변수로 지정한 파일 디스크립터(dest_fildes)에 복사한다. dup2 함수는 특정 파일 디스크립터를 지정...

[42Seoul] pipex (2) 허용 함수 정리 : dup

dup #include <unistd.h> int dup(int fildes); 함수의 매개변수(fileds)로 전달하는 파일 디스크립터를 현재 할당할 수 있는 가장 작은 파일 디스크립터에 복사하여 반환한다. 반환값 성공 : 복사된 파일 디스크립터 번호 실패 : -1 발생한 오류에 따라 errno 가 ...

[42Seoul] pipex (2) 허용 함수 정리 : access

access #include <unistd.h> int access(const char *file, int mode); file 에 대해 mode 에 대한 접근이 있는지 확인하는 함수이다. mode 에 입력할 수 있는 값은 다음과 같다. R_OK : read 권한이 있는지 확인 W_OK : write 권한이 있는지 확인 ...