Когда говорят «фоновый процесс», обычно это происходит в контексте оболочки (например, bash), которая реализует управление заданиями .
Когда процесс (или группа процессов ) помещается в фоновый режим, она все еще является частью сеанса, созданного оболочкой, и все равно будет иметь связь с управляющим терминалом оболочки. Стандартный ввод / вывод фонового процесса все еще будет связан с терминалом (если явно не изменено). Кроме того, в зависимости от того, как работает оболочка, она может отправить сигнал SIGHUP
всем фоновым процессам (см. этот ответ, чтобы точно знать, когда). Пока оболочка не завершится, она останется родителем фонового процесса.
Демон, с другой стороны, не имеет управляющего терминала и обычно явно делается дочерним процессом процесса init. Стандартный ввод / вывод осмеления обычно перенаправляется на /dev/null