Читая соответствующюю главу из книги запутался в том, кто занимается рассылкой сигналов HUP, TTIN, TTOU и TSTP. В книге сей вопрос описан несколько туманно...
Что понял: Есть группы процессов, делятся на 2 категории: текущая и фоновая. По иду группы определить кто из ху нельзя. Значит: либо об этом должен знать шелл, либо сам драйвер терминала. 1ый случай, как я понимаю не годится, т.к. когда процесс фоновой группы пытается что-то записать/считать с управляющего терминала, он получает TTOU/TTIN, а откуда об этом знать шеллу? Во втором случае шелл должен сообщить ид новой группы драейверу и сказать, что она в бэкграунде... Тоже не вяжется, т.к. некоторые программы (find, например) умудряются заявлять о себе даже из бэкграунда. В книге отмечено, что если бы шелл не умел управлять заданиями, все процессы, включая фоновые, были бы в его группе и ему самому пришлось бы разруливать сигналы...
В общем, need help, словами или ссылкой...
Заранее благодарен
.
Насколько понимаю, это зависит от ОС. 'info libc' раздел "Job Conrol"
описывает эти возможности для GNU libc. В частности, там описаны
принципы реализации shell'а.
Chichikadze wrote:
> кто занимается рассылкой сигналов HUP, TTIN, TTOU и TSTP.Posted via RSDN NNTP Server 1.9 delta