The idea is from https://unix.stackexchange.com/questions/344360/collect-exit-codes-of-parallel-background-processes-sub-shells#436932
$ ./main.sh 5
[Task 4] Job starting...
[Task 4] Sleeping...
[Task 1] Job starting...
[Task 1] Sleeping...
[Task 2] Job starting...
[Task 2] Sleeping...