Якщо не сказано інакше, команди беруть на перший план. У вас є лише один процес "переднього плану", що виконується за один сеанс оболонки. Символ & вказує командам запускатись у фоновому процесі та негайно повертається до командного рядка для отримання додаткових команд.
sh my_script.sh &
Фоновий процес не залишиться в живих після закриття сеансу оболонки. SIGHUP припиняє всі запущені процеси. За замовчуванням все одно. Якщо ваша команда довго працює або працює необмежено довго (тобто: мікросервіс), вам потрібно запустити її за допомогою nohup, щоб вона продовжувала працювати після відключення від сеансу:
nohup sh my_script.sh &
EDIT: Здається, є сіра зона щодо закриття фонових процесів, коли & використовується. Тільки майте на увазі, що оболонка може закрити ваш процес залежно від вашої ОС та локальних конфігурацій (особливо на CENTOS / RHEL):
https://serverfault.com/a/117157 .