【发布时间】:2010-06-14 14:48:58
【问题描述】:
我在 linux 的嵌入式系统上使用 C 中的 system("command") 调用时遇到问题。对应用程序的调用在命令行上运行良好,但在使用系统命令在编译的 cgi 脚本中调用时,速度非常慢。任何帮助表示赞赏?
【问题讨论】:
-
我很好奇......这个问题值得否决?投反对票的人能否解释一下?
我在 linux 的嵌入式系统上使用 C 中的 system("command") 调用时遇到问题。对应用程序的调用在命令行上运行良好,但在使用系统命令在编译的 cgi 脚本中调用时,速度非常慢。任何帮助表示赞赏?
【问题讨论】:
使用system() 调用shell 来处理您提供的参数。根据我的经验,当需要简单地运行外部命令时,让 shell 参与几乎没有用处。 shell 增加了开销,这可能是让你放慢速度的原因。
如果您正在做的事情并不真正需要 shell,那么请尝试使用 fork() 创建子进程,而不是 system(),然后使用 exec() 来运行您需要的可执行文件。
【讨论】: