Quando non viene detto diversamente, i comandi prendono il sopravvento. Hai solo un processo "in primo piano" in esecuzione in una singola sessione di shell. Il simbolo & indica ai comandi di essere eseguiti in un processo in background e torna immediatamente alla riga di comando per ulteriori comandi.
sh my_script.sh &
Un processo in background non rimarrà attivo dopo la chiusura della sessione della shell. SIGHUP termina tutti i processi in esecuzione. Per impostazione predefinita comunque. Se il tuo comando è di lunga durata o viene eseguito a tempo indeterminato (ad esempio: microservizio), devi pr-penderlo con nohup in modo che rimanga in esecuzione dopo esserti disconnesso dalla sessione:
nohup sh my_script.sh &
EDIT: sembra esserci un'area grigia relativa alla chiusura dei processi in background quando viene utilizzato &. Tieni presente che la shell potrebbe chiudere il processo a seconda del sistema operativo e delle configurazioni locali (in particolare su CENTOS / RHEL):
https://serverfault.com/a/117157 .