Если не указано иное, команды выходят на первый план. У вас есть только один процесс «переднего плана», работающий в одном сеансе оболочки. Символ & указывает командам на выполнение в фоновом режиме и немедленно возвращает в командную строку дополнительные команды.
sh my_script.sh &
Фоновый процесс не будет работать после закрытия сеанса оболочки. SIGHUP завершает все запущенные процессы. В любом случае по умолчанию. Если ваша команда выполняется долго или работает бесконечно (например, микросервис), вам необходимо настроить ее с помощью nohup, чтобы она продолжала работать после отключения от сеанса:
nohup sh my_script.sh &
РЕДАКТИРОВАТЬ: кажется, что есть серая область относительно закрытия фоновых процессов при использовании &. Просто имейте в виду, что оболочка может закрыть ваш процесс в зависимости от вашей ОС и локальных конфигураций (особенно в CENTOS / RHEL):
https://serverfault.com/a/117157 .