保持命名管道运行

时间:2016-02-12 00:35:11

标签: linux raspberry-pi pipe

我正在使用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进程(即写入管道)停止。为什么这个过程会停止,如何让它一直运行?

感谢。

1 个答案:

答案 0 :(得分:1)

作者正在阻止,因为命名管道没有读者。

如果你需要它连续运行,你必须让程序连续读取管道,或使用命名管道以外的其他东西。