Quand on ne le dit pas autrement, les commandes prennent le dessus. Vous n'avez qu'un seul processus "de premier plan" en cours d'exécution dans une seule session shell. Le symbole & indique aux commandes de s'exécuter dans un processus d'arrière-plan et revient immédiatement à la ligne de commande pour des commandes supplémentaires.
sh my_script.sh &
Un processus d'arrière-plan ne restera pas actif après la fermeture de la session shell. SIGHUP met fin à tous les processus en cours. Par défaut de toute façon. Si votre commande dure longtemps ou s'exécute indéfiniment (c'est-à-dire: microservice), vous devez la suspendre avec nohup pour qu'elle reste en cours d'exécution après la déconnexion de la session:
nohup sh my_script.sh &
EDIT: Il semble y avoir une zone grise concernant la fermeture des processus d'arrière-plan lorsque & est utilisé. Sachez simplement que le shell peut fermer votre processus en fonction de votre système d'exploitation et des configurations locales (en particulier sur CENTOS / RHEL):
https://serverfault.com/a/117157 .