예, 바람직하지 않은 것이 있습니다. 신호 SIGINT
에서 SIGKILL
신호로 직접 도약하고 있습니다 . 다른 사람들처럼 핵 옵션을 사용하기 전에 SIGHUP
또는 SIGTERM
신호 를 보내는 것이 좋습니다 . 그런 다음 이것을 키 바인딩으로 사용하는 것은 불가피합니다. 물론 ZLE가 활성화되어 있고 쉘이 명령을 실행할 때가 아니라 대화식으로 입력을 요구하는 경우에만 작동한다는 것을 의미합니다. (이를 위해, 당신은 것입니다 구현이 전송하는 터미널 라인 규율하도록 터미널이 아닌 쉘 및 필요성을 구성 할 필요가 SIGTERM
POSIX의 행동 지정된 확장으로합니다.)
이 메모에서 터미널이 아닌 쉘 라인 편집기 키 바인딩에 대해 묻는 사람은 아직 없습니다. 질문의 첫 부분에 대답하려면 다음을 수행하십시오.
신호를 "현재"작업으로 보내도록 쉘 기능을 설정했습니다.
function terminate-current-job() { kill -s TERM %+ ; }
그런 다음이 쉘 함수를 호출하는 ZLE 사용자 정의 위젯을 구성합니다.
zle -N terminate-current-job terminate-current-job
그런 다음 마지막으로 해당 위젯을 선택한 키에 바인딩합니다.
bindkey "^/" terminate-current-job