[Minishell] signal
·
42Seoul/Minishell
minishell 허용함수 정리 편에서 대략적인 함수 정리를 해놓았지만 좀 더 자세히 알아보자. signal(시그널) 여러가지 시그널 중 몇 가지만 알아보자. 1. SIGHUP : 터미널과 연결이 끊겼을 때 발생. 기본적인 처리는 프로세스가 종료된다. 2. SIGINT : 인터럽트가 발생했을때 발생. 기본적으로 프로세스가 종료된다. 9. SIGKILL : 프로세스를 무조건 종료한다. 절대 무시할 수 없으며 제어할 수 없다. 11. SIGSEGV : 프로세스가 잘못된 메모리를 참조했을 때 발생. 코어덤프를 남기고 종료된다. 19. SIGSTOP : 프로세스를 중단시킨다. 종료된 상태가 아니며 제어할 수 없다. 프로세스가 시그널을 받게되면 시그널에 해당되는 기본 동작을 하거나 그 시그널을 무시하거나 사용자가..
[Minishell] 허용 함수 정리
·
42Seoul/Minishell
기본적으로 알고있는 함수들을 제외하고 minishell을 만들 때 필요한 함수에 대해 정리해보자. fork #include pid_t fork(void); fork는 자식프로세스를 만들기 위해 사용되는 함수이다. fork에 의해 생성된 자식 프로세스는 자신만의 PID를 갖게 되며, PPID는 부모프로세스의 PID를 가지게 된다. return 성공할 경우 자식프로세스 PID가 부모에게 반환, 자식에게는 0 반환 실패할 경우 -1 리턴, error에 따른 errno 값 설정 error EAGAIN 자식프로세스를 위한 task 구조체를 할당할 수 없을 경우, 메모리 문제와 관련 wait #include #include pid_twait(int *stat_loc); 주로 fork() 를 이용해서 자식 프로세스(..
WONILLISM
'미니셀' 태그의 글 목록