명령어 인터프리터

배시 세션의 스크린샷 - 젠투 리눅스에서.

명령어 인터프리터(command-line interpreter, command-line processor, command language interpreter)는 운영 체제프로그래밍 언어의 환경에서 해석하는 입력된 명령어를 읽고 실행하는 컴퓨터 프로그램이다. 줄 단위의 명령어를 읽어 들인다고 하여 명령줄 인터프리터 또는 명령행 인터프리터라고도 한다.

특징

명령어 인터프리터는 사용자 또는 명령어 파일로부터 명령어를 읽어들인 후, 명령어를 하나 이상의 시스템 호출로 변환함으로써 그것을 실행한다. 그에 따라 명령어 인터프리터는 실행에 제약을 받기 때문에, 커널에 포함되지 않는다.

시스템 호출

명령어 인터프리터 또는 셸을 통해 입력된 명령을 수행하는 과정에서 새로운 프로세스를 시작하기 위해서는 시스템 호출을 해야 한다. 예를 들어 유닉스 시스템에서는 새로운 프로세스를 시작하기 위해 exec 시스템 호출 이후 fork 시스템 호출이 뒤따른다. exec 호출이 호출 프로세스 위로 다른 실행가능한 새로운 프로세스를 띄우는 동안, fork 호출은 현재 실행 중인 프로세스를 복제한다.

같이 보기