我正在运行带有 Jessi Lite 的 Raspberry Pi。我创建了一个命名管道
mkfifo soundpipe
然后我将我的音频捕获发送到管道:
arecord -f S16_LE -c1 -r48000 -t wav -D hw:1,0 > soundpipe
在一个新的终端中,我然后从这个管道消费声音
cat soundpipe | lame -m m -f -b 32 - "/home/pi/arecordings/test.mp3"
当我在运行“cat”命令的终端中按下 ctrl+c 时,arecord 进程(即写入管道)停止。为什么这个进程会停止,我如何让它一直运行?
谢谢。
最佳答案
编写器正在阻塞,因为命名管道没有读取器。
如果你需要它连续运行,你必须让一个程序连续读取管道,或者使用命名管道以外的东西。
关于linux - 保持命名管道运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35352795/