sh0seo
녹슬기 시작한 개발자의 긁적긁적 - sh0seo
sh0seo
전체 방문자
오늘
어제
  • 분류 전체보기 (14)
    • IT (0)

블로그 메뉴

    공지사항

    인기 글

    태그

    • release
    • HTTP
    • ngrok
    • lurca
    • Go
    • github action
    • jsp
    • tui
    • flutter
    • IOS
    • gihtub
    • Free Provisioning Profile
    • Visiblity
    • spring boot
    • GOLFING
    • ojdbc
    • https
    • Text normalization
    • dartpad
    • Golang

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    sh0seo

    녹슬기 시작한 개발자의 긁적긁적 - sh0seo

    카테고리 없음

    golang으로 signal 처리하기

    2020. 11. 30. 09:37

    golang으로 console app을 개발하다 보면 signal에 대한 처리가 필요한 경우가 있다. 예를 들어 동작 중인 console app을 CTRL+C 를 강제 종료하는 경우이다. 이런 경우에 interrupt를 발생시켜 종료하는 인데, interrupt에 대한 signal를 처리하여 app에서 필요한 처리를 마치고 종료할 수가 있다.

    다음 예제는 모든 signal을 수신하는 코드이다.

     

    code를 실행한 상태에서 CTRL+C를 이용하여 강제 종료를 시키면, 아래와 같이 console에 signal 로그가 출력된다.

     

    Got signal: interrupt

     

    하지만, kill PID, kill -SIGABRT PID를 이용하여 강제 종료를 하면, 해당 signal를 처리하지 못한다. 이런 부분을 처리하기 위해서는 channel과 range를 이용한다.

      sh0seo
      sh0seo
      녹슬기 시작한 개발의 긁적긁적 거리는 블로그입니다.

      티스토리툴바