$ ./run.sh T3 1      # T3 blijft één keer hangen
waakhond: werker gestart (pid 7653, start nr 1)
worker[7653]: begin T1 Facturen controleren
worker: klaar T1
worker[7653]: begin T2 Logboek archiveren
worker: klaar T2
worker[7653]: begin T3 Rapport opstellen
worker: hangt op T3
waakhond: 2.0s stilte, werker (groep 7653) wordt gestopt
waakhond: T3 bleef hangen (1x) -> pending
waakhond: werker gestart (pid 7711, start nr 2)
worker[7711]: begin T3 Rapport opstellen
worker: klaar T3
worker[7711]: begin T4 Back-up verifiëren
worker: klaar T4
worker[7711]: begin T5 Nieuwsbrief klaarzetten
worker: klaar T5
worker: alles af
waakhond: werker klaar met exitcode 0
--- eindlijst (exit waakhond: 0)
T1 done     hangs=0 Facturen controleren
T2 done     hangs=0 Logboek archiveren
T3 done     hangs=1 Rapport opstellen
T4 done     hangs=0 Back-up verifiëren
T5 done     hangs=0 Nieuwsbrief klaarzetten

$ ./run.sh T3 99     # T3 blijft elke keer hangen
waakhond: werker gestart (pid 7756, start nr 1)
worker[7756]: begin T1 Facturen controleren
worker: klaar T1
worker[7756]: begin T2 Logboek archiveren
worker: klaar T2
worker[7756]: begin T3 Rapport opstellen
worker: hangt op T3
waakhond: 2.0s stilte, werker (groep 7756) wordt gestopt
waakhond: T3 bleef hangen (1x) -> pending
waakhond: werker gestart (pid 7763, start nr 2)
worker[7763]: begin T3 Rapport opstellen
worker: hangt op T3
waakhond: 2.0s stilte, werker (groep 7763) wordt gestopt
waakhond: T3 bleef hangen (2x) -> skipped
waakhond: werker gestart (pid 7771, start nr 3)
worker[7771]: begin T4 Back-up verifiëren
worker: klaar T4
worker[7771]: begin T5 Nieuwsbrief klaarzetten
worker: klaar T5
worker: alles af
waakhond: werker klaar met exitcode 0
--- eindlijst (exit waakhond: 0)
T1 done     hangs=0 Facturen controleren
T2 done     hangs=0 Logboek archiveren
T3 skipped  hangs=2 Rapport opstellen
T4 done     hangs=0 Back-up verifiëren
T5 done     hangs=0 Nieuwsbrief klaarzetten

$ ./run.sh T2 99 1   # opgeven: slechts 1 herstart toegestaan
waakhond: werker gestart (pid 7779, start nr 1)
worker[7779]: begin T1 Facturen controleren
worker: klaar T1
worker[7779]: begin T2 Logboek archiveren
worker: hangt op T2
waakhond: 2.0s stilte, werker (groep 7779) wordt gestopt
waakhond: T2 bleef hangen (1x) -> pending
waakhond: te veel herstarts, opgegeven
--- eindlijst (exit waakhond: 1)
T1 done     hangs=0 Facturen controleren
T2 pending  hangs=1 Logboek archiveren
T3 pending  hangs=0 Rapport opstellen
T4 pending  hangs=0 Back-up verifiëren
T5 pending  hangs=0 Nieuwsbrief klaarzetten

$ pgrep -af '^(python3 (worker|watchdog)\.py|sleep 300)'
(geen proces)
