Cuando no se indica lo contrario, los comandos se apoderan del primer plano. Solo tiene un proceso "en primer plano" ejecutándose en una única sesión de shell. El símbolo & indica a los comandos que se ejecuten en un proceso en segundo plano y regresa inmediatamente a la línea de comandos para obtener comandos adicionales.
sh my_script.sh &
Un proceso en segundo plano no permanecerá activo después de que se cierre la sesión de shell. SIGHUP finaliza todos los procesos en ejecución. De todos modos, por defecto. Si su comando es de larga duración o se ejecuta de forma indefinida (es decir, microservicio), debe cancelarlo con nohup para que siga ejecutándose después de desconectarse de la sesión:
nohup sh my_script.sh &
EDITAR: Parece haber un área gris con respecto al cierre de procesos en segundo plano cuando se usa &. Solo tenga en cuenta que el shell puede cerrar su proceso según su sistema operativo y las configuraciones locales (particularmente en CENTOS / RHEL):
https://serverfault.com/a/117157 .