여러 프로세스의 병렬 읽기를 위해 Linux에서 개방형 문자 장치

여러 프로세스의 병렬 읽기를 위해 Linux에서 개방형 문자 장치

/dev/tty1여러 프로세스를 통해 문자 장치를 열어서 프로세스 간 읽기를 방해하지 않도록 하고 싶습니다 . 한 프로세스가 바이트를 소비하면 다른 프로세스는 이를 수신하지 못한다는 사실을 발견했습니다.

문제 세부정보: 저는 Linux에서 키 누르기 및 키 놓기 수신이 필요한 콘솔 응용 프로그램을 작성하고 있습니다. 불행하게도 mc가 동일한 장치에서 읽기를 통해 키 입력을 가로채려고 시도 하기 K_XLATE때문에 해당 설명자를 읽으면 바이트가 손실됩니다(해당 인터페이스를 위로 올리거나 뒤로 숨기세요).K_RAWioctl(fd,KDSKBMODE,K_RAW)/dev/tty1Ctrl+O

mc/dev/tty그래서 stdin에서 생성된 의사 터미널 파이프 (모드로 설정한 후 )에서도 읽기를 시도했습니다 K_RAW. 이제 내 Ctrl+O문자 코드가 0x0F탭 스캔 코드(또한 )와 충돌한다는 점 을 제외하면 거의 작동합니다 0x0F.

그보다 더 높은 권한이 필요하지 않은 간섭 문제를 해결할 수 있는 방법을 찾고 있으므로 키보드를 직접 읽을 수 있는 cap_sys_tty_config액세스는 /dev/input나에게 실행 가능한 접근 방식이 아닙니다.

관련 정보