![의사 터미널을 통해 표준 스트림을 전달하는 방법(C 언어)](https://linux55.com/image/208724/%EC%9D%98%EC%82%AC%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%84%20%ED%86%B5%ED%95%B4%20%ED%91%9C%EC%A4%80%20%EC%8A%A4%ED%8A%B8%EB%A6%BC%EC%9D%84%20%EC%A0%84%EB%8B%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95(C%20%EC%96%B8%EC%96%B4).png)
제가 고안한 사용 사례는 다음과 같습니다. stdout 및 stderr에 연결하여 평소처럼 콘솔에 보내기 전에 이러한 텍스트 스트림을 수동적으로 검사하는 C 프로그램을 작성합니다. 텍스트에서 "hello"라는 문자열이 발견될 때마다 카운터가 증가하고 업데이트된 값이 임의의 로그 파일에 저장됩니다. 이는 stdout/stderr에 쓰는 모든 프로그램이나 프로세스를 모니터링해야 합니다.
이것은 /dev/ptmx 또는 여러 dup/dup2 호출을 통해 가능해야 할 것 같지만, 평생 동안 명확한 문서나 좋은 예를 찾을 수 없습니다. 네트워킹 부분만 제외하면 telnetd와 거의 비슷합니다. 나는 많은 책을 읽었으며 Linux TTY에 대한 이해가 이전보다 훨씬 좋아졌지만 분명히 충분하지는 않습니다.