우리 상사는 자신이 사용하는 프로그램에 대한 모니터링 응용 프로그램을 만들어야 합니다. 그들의 비즈니스 요구 때문에 나는 할 수 있습니다.아니요모든 유형의 가상 직렬 포트를 사용하십시오. /dev/ttyUSB0, 애플리케이션에 들어오고 나가는 데이터~ 해야 하다/dev/ttyUSB0에 연결합니다.
나는 데이터 전송을 중단하지 않고 직렬 포트에 들어오고 나가는 것을 얻을 수 있도록 socat에서 만든 가상 직렬 포트를 활용하는 설계에 대해 논의했습니다. 그러나 디자인은 거부되었습니다. 그는 Windows에서 Putty처럼 리소스를 소비하지 않고 "포트 미러링" 또는 "정보 읽기"라는 방법을 통해 이 작업을 수행할 것을 제안했습니다.
어떻게 해야 할지, 이 문제를 어떻게 해결해야 할지 모르겠습니다.
답변1
가장 쉬운 방법은 아마도 하드웨어에서 모니터링을 수행하는 것입니다. 그러나 소프트웨어에서는 tty의 이름을 pty로 바꿀 수 있다고 생각합니다! /dev
파일 이름은 마술적이지 않습니다. 이는 드라이버를 번호로 지칭하는 친근한 방법입니다. Pty(또는 Unix 도메인 소켓)를 생성하고, 실제 tty(/dev/ttyUSB0)의 이름을 바꾸고 /dev/magicserial
, 새 엔드포인트의 이름을 실제 tty의 이름으로 바꿉니다. 그러면 당신은 완벽하게 제어할 수 있습니다! Magicserial과 엔드포인트 사이의 모든 데이터를 복사하는 루프를 실행하는 데몬을 작성 select
하면 원하는 모든 것을 모니터링할 수 있습니다. 간단하지는 않지만 작동해야 합니다.
이것은Pty 튜토리얼 예.