[bash] 인트럽트 시그널을 처리하는 명령어 trap

2019. 7. 3. 14:58·리눅스/Bash

쉘스크립트 프로그래밍에서 인터럽트 시그널이 입력될 때 어떤 처리를 해야 하는 경우 사용하는 명령어가 trap 입니다. 리눅스 운영체제마다 다양한 시그널을 가지고 있고, 현 운영체제의 시그널은 kill명령어로 확인할 수 있습니다.

운영체제의 인터럽트 시그널 종류 및 번호 확인

$ kill -l
 1) SIGHUP  2) SIGINT  3) SIGQUIT  4) SIGILL  5) SIGTRAP
 6) SIGABRT  7) SIGBUS  8) SIGFPE  9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX

trap 명령어 예제

trap 명령어를 쉘스크립트에서 사용하는 방법은 다음과 같습니다.

 

 

스크립트를 실행하고 Ctrl + C를 입력하면 다음과 같은 메시지와 함께 종료하는 것을 확인할 수 있습니다.

$ ./t.sh 
^CSIGNAL input
반응형

'리눅스 > Bash' 카테고리의 다른 글

[ssh] 터널링시 channel 3: open failed: connect failed: Connection refused 오류 해결 방법  (0) 2019.11.01
[bash] cd 명령어의 특수 심볼  (0) 2019.10.15
[bash] 터미널 화면을 제어하는 tput 명령어  (0) 2019.07.03
[bash] 배쉬쉘의 실수 연산  (0) 2019.07.01
[bash] 배쉬쉘 프롬프트 스트링 변경하기  (0) 2019.03.18
'리눅스/Bash' 카테고리의 다른 글
  • [ssh] 터널링시 channel 3: open failed: connect failed: Connection refused 오류 해결 방법
  • [bash] cd 명령어의 특수 심볼
  • [bash] 터미널 화면을 제어하는 tput 명령어
  • [bash] 배쉬쉘의 실수 연산
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    하둡
    Linux
    yarn
    HDFS
    bash
    S3
    k8s
    Tez
    정올
    백준
    AWS
    파이썬
    java
    mysql
    다이나믹
    oozie
    emr
    hbase
    airflow
    알고리즘
    Hadoop
    build
    SPARK
    nodejs
    오류
    Python
    HIVE
    하이브
    error
    ubuntu
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[bash] 인트럽트 시그널을 처리하는 명령어 trap
상단으로

티스토리툴바