последовательно выполняемые фоновые процессы unix - PullRequest
7 голосов
/ 19 июня 2010

У меня есть два сценария: «S1» и «S2». Я выполняю эти сценарии как

nohup S1 &

nohup S2 &

Но я бы хотел, чтобы они выполнялись последовательно. т.е. S2 должен выполняться только при успешном завершении S1. Как мне это сделать? Как я могу узнать, когда S1 заканчивает выполнение? Любые примеры будут высоко оценены. Спасибо.

1 Ответ

10 голосов
/ 19 июня 2010

Вы можете выполнить их последовательно, как это:

(nohup S1 && nohup S2) &

Попробуйте

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

Здесь описан оператор двойной амперсанд .

Обратите внимание, что при использовании &&, S2 запускается, только если S1 завершается "успешно" (код возврата 0). Кажется, это то, что вы хотели. Если вы хотите, чтобы S2 работал независимо от того, успешно ли S1, используйте ; вместо &&.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...