在我的程序中使用 popen() 后,终端窗口不显示我的输入

在我的程序中使用 popen() 后,终端窗口不显示我的输入

在我的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

相关内容