Использование множества параллельных процессов bash:
process1 &
...
process30 &
Выполнение нескольких операций git в каждом процессе случайным образом приведет к:
fork: Cannot allocate memory
Система CentOS 7 без свопа, я бы хотел подождать, чтобы запустить следующий процесс, пока он не станет безопасным. Как лучше всего это сделать?
Как и вы, он запустит все процессы в параллельном режиме, поместив их в фоновый режим. Это то, что делает амперсанд ( &
).
В этом случае выполните команды последовательно, т.е. е., один за другим.
Для этого разделите каждый процесс точкой с запятой (;
) или новой строкой без последнего амперсанда, например:
process1; process2; ... ; process30
или
process1
...
process30
Таким образом, он запустит process1, и когда он закончится, запустит process2, а когда process2 завершится, он запустит process3 и так далее, пока process30.
Если вы хотите запустить следующую команду, только если текущая команда не выполняет Если это не так, разделите команды двумя амперсандами ( &&
), например:
process1 && process2 && ... && process30