"trap"을 통해 설정한 핸들러를 사용하여 bash 대화형 셸이 신호를 처리하는지 어떻게 테스트할 수 있나요?

"trap"을 통해 설정한 핸들러를 사용하여 bash 대화형 셸이 신호를 처리하는지 어떻게 테스트할 수 있나요?

bash 대화형 셸에서 신호 처리기를 설정하기 위해 trap명령(예: trap "echo You hit control-C!" INT)을 실행하면 bash 대화형 셸이 신호를 처리하는 방식이 설정됩니까?

내가 설정한 핸들러를 사용하여 bash 대화형 쉘이 신호를 처리하는지 여부를 어떻게 테스트합니까 trap?

즉, 생성된 신호를 테스트할 수 있습니까?

  • Bash 대화식 쉘에서?
  • 쉘에서 실행되는 터미널 에뮬레이터에서?

아니면 bash 대화형 셸이나 터미널 에뮬레이터 외부에서 테스트해야 합니까?

감사해요.

답변1

kill다음을 사용하여 현재 쉘에 신호를 보내 핸들러가 설정된 쉘 내에서 핸들러를 테스트할 수 있습니다.

kill -INT $$

-INT테스트하려는 트랩과 일치하도록 변경하십시오 .

관련 정보