Всем привет.
В общем такая схема:
- запускаю в терминале процесс в фоновом режиме
$ ./main &
UID PID PPID PGID SID C STIME TTY TIME CMD
tvaroh 7722 7696 7722 7696 0 03:06 pts/2 00:00:00 ./main
- при наступлении определённого события (появления данных в fifo) этот процесс должен написать в stdout сообщение
- закрываю терминал и отправляю в fifo сообщение
- проверяю pgrep main - процесс всё ещё выполняется, хотя вроде как ему должен был отправиться сигнал SIGTTOU (никаких перехватов сигналов в коде нету)
- смотрю вывод ps:
UID PID PPID PGID SID C STIME TTY TIME CMD
tvaroh 7722 1 7722 7696 0 03:06 ? 00:00:00 ./main
PPID сменился на 1 (init).
Собственно вопрос: почему так происходит?