LINUX.ORG.RU

узнать PGID/PID процессов, связанных с /dev/pts/x


0

0

Введение: в linux модуль ядра, отвечающий за, например, ttyS0, посылает группе процессов, связанных с этим ttyS0 сигнал SIGHUP в случае разъединения данного терминала. Так, например, если pppd держит открытым ttyS0, то он получает SIGHUP в случае если модем положил трубку по причине обрыва связи, и обрабатывает его, завершая работу... В моем случае используется виртуальная пара /dev/ptms и /dev/pts/x (где x - номер вирт. slave терминала). /dev/ptms "слушает" демон slmodem. /dev/pts/x - демон pppd. Вопрос: как определить PGID/PID pppd в slmodem, чтобы послать ему/группе SIGHUP при обрыве соединения. Или есть другие варианты решения проблемы? Использвование lcp-echo-failure опции в pppd - не предлагать. :)

anonymous

Ответ на: комментарий от SatanClaus

Т.е. вставить код из fuser в slmodem? Такой вариант я рассматриваю. А более "культурного" способа не существует? Т.е. так как делает это модуль io_tty в linux - такой финт только в ядре можно делать, системных вызовов позволяющих делать это из userspace - нет ?

anonymous
()
Ответ на: комментарий от anonymous

есть механизм вызова функций ядра без поддержки в glibc или других библиотек. Помоему syscall зовётся. Сам не юзал - точно не помню.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.