Linux shell script asynchronous commands and notification when completed
You are looking for the wait
command.
wait: wait [id] Wait for job completion and return exit status. Waits for the process identified by ID, which may be a process ID or a job specification, and reports its termination status. If ID is not given, waits for all currently active child processes, and the return status is zero. If ID is a a job specification, waits for all processes in the job's pipeline. Exit Status: Returns the status of ID; fails if ID is invalid or an invalid option is given.