последовательно выполняющийся Unix фоновых процессов

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

nohup S1 и

nohup S2 и

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

7
задан wowrt 19 June 2010 в 10:53
поделиться

1 ответ

Вы можете выполнить их последовательно следующим образом:

(nohup S1 && nohup S2) &

Попробуйте

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

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

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

10
ответ дан 7 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: