【发布时间】:2014-10-15 10:14:57
【问题描述】:
我正在通过 popen() 从 C 程序运行“长笛”(用于发送多播流量的协议)应用程序/二进制文件(我下载的)。这个应用程序有一个特性/错误,它不会在后台运行,因为它使用 shell 来接受一些命令。并且在运行期间,应用程序会锁定外壳。这意味着您只能在 shell 中键入一些预定义的字母,否则您必须等到最后。因此,当我使用 c 代码中的 popen() 运行应用程序的多个实例时,shell 会永久挂起,可能是因为两个应用程序都试图同时使用它(我的假设)。但我可以在不同的 shell 中手动运行多个实例。这是从 C 程序运行它的示例代码。
FILE* pF = popen("./flute -send -a226.0.0.1/6789 /media/song.mp3", "r");
是否有任何解决方案使外壳不会挂起。请帮忙。
【问题讨论】: