开发者

sequentially executing background processes unix

开发者 https://www.devze.com 2023-01-04 05:08 出处:网络
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 compl

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

精彩评论

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