我正在编写一个shell脚本,其中我需要调用二进制文件三次,并且一旦所有这三个二进制文件都完成,我需要将调用转移到主程序。我想我需要使用fork并在我的shell脚本中等待。我不知道如何在shell脚本中实现fork,wait和exec。我想知道一些很好的教程,我可以详细阅读这些教程。等待二进制文件在shell脚本中完成
非常感谢你提前给予的帮助。
我正在编写一个shell脚本,其中我需要调用二进制文件三次,并且一旦所有这三个二进制文件都完成,我需要将调用转移到主程序。我想我需要使用fork并在我的shell脚本中等待。我不知道如何在shell脚本中实现fork,wait和exec。我想知道一些很好的教程,我可以详细阅读这些教程。等待二进制文件在shell脚本中完成
非常感谢你提前给予的帮助。
如果你正在使用bash(或ksh,或其他),你的shell,那么这就是你“叉”,以及如何等待:
command_one&
command_two -options&
command_three lots of args&
wait
使用的&
命令后,使得它在后台执行;否则shell将在每个命令之后等待。没有参数的wait
等待所有工作,即孩子。 $ help wait jobs
和bash的手册页可以让您更深入地了解工作管理。
感谢您的回复。你能解释我如何实现perl – user419534
相同,我很抱歉。除了正则表达式,我已经忘记了我在Perl中所知道的一切。我认为,查看'exec'函数的文档会有所帮助。 – jpaugh
这个答案也适用于ksh88和ksh93(也可能是pdksh)。不打算成为一个全包的名单,zsh很可能也可能是其他的。祝你们好运。 – shellter
如果您不需要3个二进制文件同时运行,只需在脚本中一次调用它们一个。 –
我需要并行运行所有三个二进制文件,然后需要等三个完成。 – user419534