在我的C++我使用popen()
读取视频帧的程序ffmpeg。当程序自行停止或我关闭它时,Ctrl+C
我输入到终端的所有内容都不会出现(但它在那里)。我确实用关闭管道pclose()
。当我尝试再次构建我的程序时,它失败了,因此gcc
打印错误 - 它自己修复了。Ubuntu 18.04.3,内核 5.4
这是终端窗口的错误还是我在某种程度上误解了管道?
答案1
遇到了与 python Popen 类似的问题,通过-nostdin
在 ffmpeg 命令中添加标志 解决了该问题https://stackoverflow.com/questions/65329483/python-subprocess-popen-ffmpeg-breaks-terminal-input