我有一個在unix下運行的程序(我無法控制)在完成時打印'成功完成'但未退出。我想自動檢測進程何時結束(通過檢查命令的輸出),以便我可以終止進程,以便我可以繼續執行其他活動。複雜性是因爲我想能夠同時運行多個這些腳本。 (我需要做的一項活動需要用各種輸入調用腳本,但每次腳本運行需要一段時間才能返回,因此我想並行執行它們)檢測進程何時完成(但未退出)
有沒有人做過類似於這個? 我可以將該命令的stderr和stdout輸出重定向到一個具有隨機文件名的臨時文件,然後將文件和管道尾部尾部條件(即某些日誌行)以grep結尾。問題是,當然tail -f會繼續運行,所以它永遠不會退出。我應該輪詢嗎?如果是這樣,最好的方法是什麼?
不幸的是,我在舊的Solaris mac上運行有bash 2.x的hine;沒有指望;它看起來像我沒有grep --max-count = 1 – Egwor 2010-04-26 19:49:40