У меня есть куча заданий, которые должны запускаться одновременно.
У каждой работы есть своя работа.
Последующие работы должны выполняться один за другим.
Задержка может начаться, только если ее работа завершена.
Первое выполненное задание должно немедленно вызвать его задание.
Все остальные задания по завершении должны поставить свои последующие задания в очередь.
Я пытаюсь поместить пост-задания в очередь с помощью диспетчера задач (tsp).
Тем не менее, я не знаю, как поймать, если работа закончена.
#!/bin/bash
# Starting jobs and collecting their pids
job1 & job1_pid=$! &
job2 & job2_pid=$1 &
job3 & job3_pid=$1
# Catching if jobs are finished and put the afterjobs in queue
{wait $job1_pid && tsp afterjob1} &
{wait $job2_pid && tsp afterjob2} &
{wait $job3_pid && tsp afterjob3}