我正在編寫一個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