2012-05-17 54 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