2012-05-17 50 views
1

我正在编写一个shell脚本,其中我需要调用二进制文件三次,并且一旦所有这三个二进制文件都完成,我需要将调用转移到主程序。我想我需要使用fork并在我的shell脚本中等待。我不知道如何在shell脚本中实现fork,wait和exec。我想知道一些很好的教程,我可以详细阅读这些教程。等待二进制文件在shell脚本中完成

非常感谢你提前给予的帮助。

+0

如果您不需要3个二进制文件同时运行,只需在脚本中一次调用它们一个。 –

+0

我需要并行运行所有三个二进制文件,然后需要等三个完成。 – user419534

回答

4

如果你正在使用bash(或ksh,或其他),你的shell,那么这就是你“叉”,以及如何等待:

command_one& 
command_two -options& 
command_three lots of args& 

wait 

使用的&命令后,使得它在后台执行;否则shell将在每个命令之后等待。没有参数的wait等待所有工作,即孩子。 $ help wait jobs和bash的手册页可以让您更深入地了解工作管理。

+0

感谢您的回复。你能解释我如何实现perl – user419534

+0

相同,我很抱歉。除了正则表达式,我已经忘记了我在Perl中所知道的一切。我认为,查看'exec'函数的文档会有所帮助。 – jpaugh

+1

这个答案也适用于ksh88和ksh93(也可能是pdksh)。不打算成为一个全包的名单,zsh很可能也可能是其他的。祝你们好运。 – shellter