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 권한이 있는지 확인 ...
[42Seoul] pipex (1) 프로젝트 개요
Mandatory part 과제 설명 쉘의 파이프(|) 명령어를 구현하는 과제 제출 파일 사용한 모든 파일 (libft 사용했을 경우 모두 포함해서 제출) 사용 가능한 함수 open, close, read, write, malloc, free, perror, strerror, access, dup, dup2, execve, exit, ...
[42Seoul] minishell (2) 프로젝트 회고
플로우차트 간략하게 표현한 플로우차트는 다음과 같다. gnu bash reference 를 참고해서 최대한 bash 와 유사하게 작동하도록 노력했다. 협업 방식 업무 분담 이번 프로젝트에서는 업무 분담을 따로 하지 않았다. 보통 파싱, 실행을 나누어서 진행하는데, 우리는 처음부터 모든 과정을 같이 코드를 작성하는 페어 프로그래밍 방식을 선...
[42Seoul] minishell (1) 개념 정리
gnu bash reference 에 있는 자료를 토대로 bash 가 작동하는 원리를 정리한 내용이다. bash 작동 원리 1. 파일 읽기 filename arguments 파일 실행 filename 을 읽어서 실행한다. 그리고 exit 한다. 이를 non-interactive shell 이라 한다. 사용자가 명령을 입력할 수 ...
[Jekyll] invalid byte sequence in US-ASCII 오류 해결
🧐오류 발생 상황 github.io 블로그에 게시물을 올리기 전에 로컬 환경에서 테스트 하기 위해 아래와 같은 명령어를 실행시켰다. bundle exec jekyll serve 하지만, 아래와 같은 오류를 출력했다. [!] There was an error parsing `Gemfile`: [!] There was an error while...
프로그래머스 Level 1 - 콜라 문제 (JavaScript)
프로그래머스 - Level1 콜라 문제 문제 설명 설명 생략 🙋♂️나의 풀이 🤔문제 접근 문제의 지문이 길었지만, 문제에서 요구하는 바는 지문의 하단에 나와있었다. 나눗셈을 통한 몫과 나머지를 이해한다면 쉽게 풀 수 있는 문제다. 교환에 필요한 콜라병은 a , 교환에서 받을 수 있는 콜라병은 b, 현재 가지고 있는 콜라병은 n 이...