开发者

sequentially executing background processes unix

I have two scripts say 'S1' and 'S2'. I execute these scripts as,

nohup S1 &

nohup S2 &

But I would like them to execute sequentially. ie., S2 should execute only on successful completion of S1. How should I go about doi开发者_开发知识库ng this?. How can I know when S1 finishes execution?. Any examples would be much appreciated. Thanks.


You can execute them, sequentially, like this:

(nohup S1 && nohup S2) &

Try

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

The double ampersand operator is described here.

Note that when using &&, S2 only runs if S1 finishes "successfully" (return code 0). This seems to be what you wanted. If you want S2 to run regardless of whether S1 succeeds, use ; instead of &&.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜