!["trap"을 통해 설정한 핸들러를 사용하여 bash 대화형 셸이 신호를 처리하는지 어떻게 테스트할 수 있나요?](https://linux55.com/image/119958/%22trap%22%EC%9D%84%20%ED%86%B5%ED%95%B4%20%EC%84%A4%EC%A0%95%ED%95%9C%20%ED%95%B8%EB%93%A4%EB%9F%AC%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20bash%20%EB%8C%80%ED%99%94%ED%98%95%20%EC%85%B8%EC%9D%B4%20%EC%8B%A0%ED%98%B8%EB%A5%BC%20%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94%EC%A7%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%85%8C%EC%8A%A4%ED%8A%B8%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
bash 대화형 셸에서 신호 처리기를 설정하기 위해 trap
명령(예: trap "echo You hit control-C!" INT
)을 실행하면 bash 대화형 셸이 신호를 처리하는 방식이 설정됩니까?
내가 설정한 핸들러를 사용하여 bash 대화형 쉘이 신호를 처리하는지 여부를 어떻게 테스트합니까 trap
?
즉, 생성된 신호를 테스트할 수 있습니까?
- Bash 대화식 쉘에서?
- 쉘에서 실행되는 터미널 에뮬레이터에서?
아니면 bash 대화형 셸이나 터미널 에뮬레이터 외부에서 테스트해야 합니까?
감사해요.
답변1
kill
다음을 사용하여 현재 쉘에 신호를 보내 핸들러가 설정된 쉘 내에서 핸들러를 테스트할 수 있습니다.
kill -INT $$
-INT
테스트하려는 트랩과 일치하도록 변경하십시오 .