치춘짱베리굿나이스

[Rank 3] Minishell - 시그널 정리 본문

42/42s Cursus

[Rank 3] Minishell - 시그널 정리

치춘 2022. 2. 3. 17:56

특정 케이스에서 어떤 시그널을 입력하면 어떤 반응을 보이는지 체크

기본 쉘 프롬프트 (입력값 없음)

ctrl - c

bash-3.2$ #ctrl-c 입력
bash-3.2$

개행이 들어감

$?은 1로 세팅

ctrl - d

bash-3.2$ exit #ctr-d 입력된 후에 콘솔창에 exit 출력됨

인자 없는 exit와 동일하게 동작함

ctrl - \

bash-3.2$ #ctrl-\ 입력

아무런 일도 일어나지 않음 (SIGIGN)

$?는 이전 값에서 변하지 않음 (아무일도 일어나지 않았으므로)

기본 쉘 프롬프트 (입력값 있음)

ctrl - c

bash-3.2$ aaaa #ctrl-c 입력
bash-3.2$

개행이 들어감

직전에 입력한 값은 history에 들어가지 않으며, 작동도 안 함

ctrl - d

bash-3.2$ aaaa #ctr-d 입력

아무런 일도 일어나지 않음 (SIGIGN)

ctrl - \

bash-3.2$ aaaa #ctrl-\ 입력

아무런 일도 일어나지 않음 (SIGIGN)

heredoc (입력값 없음)

ctrl - c

bash-3.2$ cat << asd
> #ctrl-c 입력
bash-3.2$

heredoc 종료, 개행 출력, 명령어 실행되지 않음

ctrl - d

bash-3.2$ cat << asd
> hello
> hello #입력값 넣지않고 ctrl-d 입력, 명령어 실행으로 hello 출력
bash-3.2$

heredoc 종료, 개행 출력 X, 지금까지의 입력값을 바탕으로 명령어 실행됨

EOF를 넣어주는 역할을 함

ctrl - \

bash-3.2$ cat << asd
> #ctrl-\ 입력

아무런 일도 일어나지 않음 (SIGIGN)

heredoc (입력값 있음)

ctrl - c

bash-3.2$ cat << asd
> aa #ctrl-c 입력
bash-3.2$

heredoc 종료, 개행 출력, 명령어 실행되지 않음

ctrl - d

bash-3.2$ cat << asd
> aa #ctrl-d 입력

아무런 일도 일어나지 않음 (SIGIGN)

ctrl - \

bash-3.2$ cat << asd
> aa #ctrl-\ 입력

아무런 일도 일어나지 않음 (SIGIGN)

STDIN 입력받는 중 (입력값 없음)

ctrl - c

bash-3.2$ cat
^C #ctrl-c 입력
bash-3.2$

^C 출력 후 개행

ctrl - d

bash-3.2$ cat #엔터친 후 ctrl-d 입력
bash-3.2$

아무 일도 일어나지 않고 개행

ctrl - \

bash-3.2$ cat
^\Quit: 3 #ctrl-\ 입력
bash-3.2$

^\ 출력 후 Quit: [숫자] 형식의 문자열이 출력되고 개행

숫자는 생성된 코어 덤프의 개수를 나타냄

STDIN 입력받는 중 (입력값 있음)

ctrl - c

bash-3.2$ cat
aaa^C #ctrl-c 입력
bash-3.2$

^C 출력 후 개행

ctrl - d

bash-3.2$ cat
aaaaaa #aaa만 입력 후 ctrl-d 입력

eof가 들어가므로, cat이 작동되고 다음 표준입력을 받음

ctrl - \

bash-3.2$ cat
aaa^\Quit: 3 #ctrl-\ 입력
bash-3.2$

^\ 출력 후 Quit: [숫자] 형식의 문자열이 출력되고 개행

숫자는 생성된 코어 덤프의 개수를 나타냄

Comments