특정 경로(또는 파생 경로일 수 있음)를 사용하여 파일을 열고 fopen
, 파일을 읽고, 파일에 쓰고 닫는 특정 응용 프로그램이 있습니다. 경로를 지정하는 것 외에는 애플리케이션을 제어할 수 없습니다.
내가 원하는 것은 로컬 파일 시스템의 파일을 "시뮬레이트"하여 응용 프로그램에 전달하는 것입니다. 즉, 파일 시스템에서 파일이 일반 파일로 표시되지만 스트림이 해당 파일을 올바르게 처리하고 적절한 데이터를 출력할 수 있는 다른 응용 프로그램으로 리디렉션되기를 원합니다. 본질적으로 나는 장치가 아니라는 점을 제외하면 의사 장치를 만들고 싶습니다. 이것이 가능합니까? 이 문제를 어떻게 해결할까요?
답변1
당신이 원하는 것은 명명된 파이프인 것 같습니다 mkfifo(1)
. "에뮬레이션"하려는 파이프의 이름으로 명명된 파이프를 생성할 수 있습니다. 그런 다음 "기타 앱"을 실행하고 마지막으로 제어할 수 없는 앱을 실행하세요. 제대로 작동하려면 "다른 응용 프로그램"이 필요합니다. 즉, 예상하는 방식으로 첫 번째 응용 프로그램과 통신합니다. 예를 들어 첫 번째 데이터를 사용 가능하게 만든 다음 첫 번째 데이터를 기다립니다.