✅ 이번 프로젝트의 목표는 간단한 쉘을 만드는 것입니다. 맞아요, 당신만의 작은 bash나 zsh이요. 프로세스나 파일 디스크립터에 대해 아주 많이 배우게 될 겁니다.
*ctrl-C, ctrl-D and ctrl-\\
should have the same result as in bash.*
ctrl-C
, ctrl-D
, ctrl-\\
는 bash와 동일하게 동작하여야 합니다.
When interactive:
상호작용이 가능할 때:
*ctrl-C
print a new prompt on a newline.*
ctrl-C
는 새로운 줄에 새로운 프롬프트를 출력합니다
*ctrl-D
exit the shell.*
ctrl-D
는 쉘을 종료합니다.
*ctrl-\\
do nothing.*
ctrl-\\
은 아무런 동작도 하지 않습니다.
What's the difference between ^C and ^D for UNIX/Mac OS X terminal?
실행을 중지하고 프로세스를 종료시킨다
프롬프트를 다시 띄우게 된다.
“인터럽트”를 의미 → 수행중인 작업 중지
응용 프로그램을 종료하지만 최상위 수준 프로그램으로 돌아가는 것??
[ ] 현재 우리 미니쉘 상태 : 종료가 되어버림
[ ] SIGINT 시그널을 받으면
signal(SIGINT, SIG_DFL);