2010-06-19 56 views
6

我有兩個腳本說'S1'和'S2'。我執行這些腳本的,順序執行後臺進程unix

nohup的S1 &

nohup的S2 &

但我想他們按順序執行。即,S2應該只在成功完成S1時執行。我應該如何去做這件事?我如何知道S1何時執行完畢?任何例子將不勝感激。謝謝。

回答

9

您可以執行它們,順序,就像這樣:

(nohup S1 && nohup S2) & 

嘗試

(echo 1 && sleep 1 && echo 2) & 

double ampersand operator is described here

請注意,當使用&&時,S2僅在S1完成「成功」(返回代碼0)時纔會運行。這似乎是你想要的。如果您想要S2運行,而不管S1是否成功,請使用;而不是&&

+0

非常感謝!我會檢查一下。 – wowrt 2010-06-19 11:02:18

+0

你好,斯蒂芬!你能幫我解決這個問題嗎?http://unix.stackexchange.com/questions/101411/how-to-run-new-background-command-sequentially-if-i-already-have-a-nohup-backgro/ 101421?noredirect = 1#comment154602_101421?我將非常感激。 – user15964 2013-11-17 02:51:58