스크립트 내에서 ffmpeg를 실행하고 있는데 실행 중인 터미널에서 "q"를 누르거나(기본 동작) fifo 파일에 "q"를 입력하여 ffmpeg를 종료할 수 있기를 원합니다. 어느 프로그램을 선택하든 상관없습니다. 달리다.
ffmpeg </fifo_file
fifo 파일을 통해 종료할 수 있지만 이제 키보드 입력을 허용하지 않습니다. 개념적으로는 입력이 fifo를 통과한 다음 ffmpeg의 표준 입력으로 이동하도록 키보드에서 fifo로 입력을 리디렉션하는 것은 매우 간단한 문제라고 생각합니다. 그러나 나는 수색했지만 아무것도 발견하지 못했습니다.
ffmpeg뿐만 아니라 어떤 명령으로도 수행할 수 있다는 것은 매우 기본적인 일처럼 보입니다. 두 개의 입력 소스(터미널의 키 입력과 fifo의 입력)를 하나의 표준 입력으로 병합합니다. 나는 터미널 입력 > fifo > 프로그램의 특정 순서가 가장 좋다고 생각합니다. 그래야 fifo가 항상 차단이 아닌 입력의 최종 소스가 됩니다.
위의 작업을 수행하기 위한 간단한 bash 스크립트를 갖고 싶습니다. 파이프/리디렉션 논리에 대한 명확한 설명이 있으면 더 좋을 것입니다.