分离用system()调用的链式命令

时间:2014-10-20 18:39:25

标签: c linux command-line exec

我熟悉使用系统从C中执行shell命令,如下所示:

system("ifup -a\n");

并使用&符号分叉它们(所以system()调用立即返回):

system("ifup -a &\n");

用两个和号链接一个接一个的命令:

system("ifdown eth0 && ifup -a\n");

但是,如果在链的末尾添加一个&符号将运行整个链并且系统()立即调用返回吗?例如:

system("ifdown eth0 && ifup -a &\n");

单个&符号是整叉还是最后一个命令?

或者有更好的方法来实现这一目标吗?我们似乎有一个挑剔的网络情况,希望这样做:

system("ifdown eth0 && sleep 2 && ifup -a &\n");

让时间充分发挥作用完全重新启动,但调用函数确实想立即返回。

1 个答案:

答案 0 :(得分:1)

是在最后添加一个&符号会使system()立即返回。