我将在 Linux-arm 嵌入式设备上运行常规程序。
我尝试使用system(cmd)
函数在我的程序中运行linux shell cmd
。
cmd
是音频播放命令"aplay -N sound.wav"
如果cmd
如上,我的linux设备将不会发出声音,并且程序的进程将处于T
状态(跟踪或停止) )。
如果 cmd 设置为“aplay -N sound.wav &”
,一切都会正常工作。
我的问题是造成这种情况的原因,为什么 "&"
背景参数在这种情况下很重要。
谢谢。
最佳答案
如果 aplay 允许 STDIN 充当 Controller ,则在前台运行它可能无法提供它期望的控制输入。后台可能会分离 STDIN 并使播放恢复到默认的“播放一次直到完成”模式。你们有 aplay 的手册页吗?
关于c - 为什么Linux-arm中system(cmd)函数需要用&background参数设置命令字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18646767/