Перейти к содержанию

Сокет как stdout


Гость

Рекомендуемые сообщения

Здравствуйте!

У меня есть сервис под xinetd. Ввод-вывод при работе

перенаправляются в сокет. Я хочу, чтобы сервис прекращал свою работу, когда сокет закрывается. Читать состояние сокета всё время я не могу, т.к. сервис использует блокирующую функцию, написаную не мной.

В связи с этим вопрос: можно ли настроить сокет так, чтобы он посылал сигнал, когда прекращается соединение с другой стороны, не требуя при этом операций read(2), write(2) или select(2)?

Ссылка на комментарий
Поделиться на другие сайты

Скорее всего он будет посылать сигнал SIGHUP.

Все дело в том, что сокет в данном случае будет являться

управляющим терминалом для процесса, а при его закрытии процесс

получает SIGHUP

Ссылка на комментарий
Поделиться на другие сайты

> Скорее всего он будет посылать сигнал SIGHUP.

> Все дело в том, что сокет в данном случае будет являться

> управляющим терминалом для процесса, а при его закрытии процесс

> получает SIGHUP

Я пробовал. Просто так, без настроек он _не_ посылает этого сигнала.

Может быть, можно как-нибудь настроить сокет, чтобы он действительно являлся управляющим терминалом?

ertzog писал(а):

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...