본문 바로가기

signal

(2)
[Lecture 4] Implementing Job Control Shells #Job Control Job control, 작업 제어란, 유닉스 및 유닉스 계열 운영 체제에서 셸(shell)에 의한 작업 제어, 특히 인터랙티브(interactive)에 의한 작업 제어를 가리킨다. 기본 작업 제어 기능은 작업/프로세스 그룹의 모든 프로세스를 일시 중단, 재개 또는 종료하는 것이다. 작업 제어의 고급 기능으로는 작업에 signal을 전송하여 수행할 수 있다. 리눅스에서 모든 프로세스들은 시그널이 전달되면 종료되게 돼있다. #Job Control Shells 작업 제어 Shell은 사용자가 command-line에서 프로그램을 시작하고 관리할 수 있도록 하는 제어 프로그램이다. 작업 제어의 코어는 "read-evel" loop을 포함한다 Shell은 내장 명령 (built-in com..
[Lecture 3] Unix Signals #Unix Signals 유닉스/리눅스에서 시그널이란 무엇일까? 리눅스 터미널에서 프로그램을 실행시키다가 ctrl-c 를 눌러서 프로그램을 강제로 종료 시켜본 경험이 있다면 이미 시그널을 보내 보았다는 의미이다. 프로그램을 실행시키다가 ctrl-c를 누르면 인터럽트를 발생 시켜 운영체제가 프로그램에 제제를 건다. 이렇게 프로세스에서 특정 event가 발생 했을 때 "신호"를 보내는 것을 시그널이라고 한다. 유닉스 신호는 kernel이 사전 정의된 집합(< 32)에서 관심 있는 이벤트를 프로세스에 알릴 수 있는 메커니즘을 제시한다. 정수 번호로 표시되며, 일부 선택적 추가 정보와 연관되기도 한다. 여기서 이런 event들은 2가지로 분류된다 Synchronous (동기적) event: 프로세스가 수행한 어..