추가 읽기

추가 읽기

예를 들어 터미널에서 제어 문자를 보낼 때 을 누르면 Ctrl+C,라인 규율이 제어 문자를 나타내는 바이트가 수신됩니다(의 0x03경우 Ctrl+C).

지금은 대신라인 규율0x03터미널과 관련된 프로그램에 바이트를 보내면 대신 신호가 보내집니다 SIGINT(또는 다른 제어 문자인 경우 다른 작업을 수행합니다).

이제 예방할 수 있는 방법이 있나요?라인 규율제어 문자 처리부터 시작하여, 내가 원하는 것은 터미널과 관련된 프로그램이 제어 문자( 0x03우리의 경우)를 나타내는 실제 바이트를 수신하는 것입니다.

답변1

Linux에서는 다음을 사용할 수 있습니다.

$ stty intr undef

해당 터미널에서. 그러면 중단 문자가 빈("undef")으로 설정됩니다. 복원하려면 다음을 사용하십시오.

$ stty intr ^c

man stty자세히보다.

답변2

다양한 제어 문자 […] 제어 문자

나는 복수형을 발견했습니다. 당신이 찾고있는비표준 입력 모드, POSIX 표준 이전에는 다음과 같이 알려져 있습니다.오리지널 모드. 이는 GNU Readline, ZLE 또는 libedit를 사용하는 응용 프로그램에서 채택한 모드입니다. 그들의 코드는 tcgetattr(), 라이브러리 함수 cfmakeraw()또는 tcsetattr()이와 유사한 기능을 사용하여 설정합니다. 이것들은 의 기초이기도 합니다 stty raw. ( stty sane이 게임을 플레이하시는 경우, 존재한다는 점을 주의하시기 바랍니다.)

추가 읽기

관련 정보