bash: запуск процессов на фоне
Если надо запустить скрипт на фоне (типовая ситуация - запуск скрипта как CGI из веб-сервера), то перед запуском долгого процесса надо отсоединить stdout и stderr от скрипта. Тогда веб-сервер сможет продолжать работать.
Делается это так (перед запуском фоновой задачи):
exec >&- exec 2>&-
Источники:
https://stackoverflow.com/questions/6033780/run-a-cgi-shell-script-in-background