Доброго всем времени суток!
Введение: в 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 при обрыве соединения. Или есть другие варианты решения проблемы? Как можно реализовать поведение /dev/pts/x , аналогичное поведению /dev/ttySx ?
P.S. Использвование lcp-echo-failure опции в pppd — не предлагать. :)
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 →
Перекличка
21
-
REDkiy, 8 июня 2023 года в 9:09 →
Как «замокать» файл для юниттеста в Python?
2
-
fhunter, 29 ноября 2022 года в 2:09 →
Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
6
-
Иванн, 9 апреля 2022 года в 8:31 →
Ассоциация РАСПО провела первое учредительное собрание
1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 →
Логи catalina.out в TomCat 9 в формате JSON
1
DevOps as a Service from Palark

fuser -auv
lsof
в общем, что-то типа.
А ядро или glibc подобных функций не имеют?
ну, вроде бы как имеют.
программы же эти как-то данную информацию добывают?
ну вот, и смотри их самих..
собственно, я в самом программировании не очень — дминистрирование как-то большую часть времени отнимает.
Долгие поиски, вопросы и расспросы дали следующую информацию (проверенную уже и на практике). Для того, чтобы послать HUP всем процессам, открывшим какой-либо из псевдотерминалов, необходимо просто закрыть дескриптор мастер-терминала /dev/ptmx, полученный при создании пары master-slave псевдотерминалов.
Вот и все. :)