trap linux

trap 명령 은 신 호 를 받 은 후에 취 할 행동 을 지정 하 는 데 사 용 됩 니 다. trap 명령 의 매개 변 수 는 두 부분 으로 나 뉘 는데 앞의 부분 은 지 정 된 신 호 를 받 을 때 취 할 행동 이 고 뒤의 부분 은 처리 할 신호 이름 입 니 다.
편지.     번호.
말 하 다.     밝다.
HUP(1)
끊 기 면 보통 터미널 이 끊 기거 나 사용자 가 종료 되 어 발생 합 니 다.
INT(2)
인 터 럽 트, 보통 Ctrl + C 조합 키 를 누 르 면 발생 합 니 다.
QUIT(3)
종료, 보통 Ctrl +\조합 키 를 누 르 면 발생
ABRT(6)
중단, 보통 심각 한 실행 오류 로 인해 발생 합 니 다.
ALRM(14)
경 보 는 보통 시간 초과 처리 에 쓰 인 다.
TERM(15)
종료, 보통 시스템 이 꺼 졌 을 때 보 냅 니 다.
1. trap 에서 신 호 를 포착 한 후 세 가지 반응 방식 이 있 습 니 다.
이 신 호 를 처리 하기 위해 프로그램 을 실행 합 니 다 신 호 를 받 는 기본 동작 이 신 호 를 무시 합 니 다 2. trap 은 위의 세 가지 방식 에 대해 세 가지 기본 형식 을 제공 합 니 다. 첫 번 째 형식의 trap 명령 은 셸 에서 signal list 목록 에서 수치 가 같은 신 호 를 받 을 때 두 따옴표 의 명령 문자열 을 실행 합 니 다. trap 'commands' signal - list trap' commands' signal - list trap 'signal - list
두 번 째 형식의 trap 명령, 신호 복 구 를 위 한 기본 동작: trap signal - list
세 번 째 형식의 trap 명령 은 신 호 를 무시 할 수 있 습 니 다: trap "signal - list
첫 번 째 형식 에서 명령 을 집행 하 는 것 은 작은 따옴표 와 작은 따옴표 에 차이 가 있다.
#/bin/bash

#    
#trap " " 2

#   ,shell                     ,    
trap "echo `date`:can not terminate by ctrl+C" 2		

#   ,  shell                    ,     
trap 'echo `date`:can not terminate by ctrl+C' 2		

while [ 1 ]
do
	echo -n "input a num : "
	read num 
	if [ $num -eq -1 ]
	then
		echo "bye"
		break
	fi
	echo "you have enter $num"
done

좋은 웹페이지 즐겨찾기