Процесс-демон не может пережить приостановку

#c #linux #daemon

#c #linux #демон

Вопрос:

Я пишу приложение-демон для Sid Debian. В большинстве случаев он работает отлично, но молча умирает после того, как я перевожу свой ноутбук в режим ожидания (или гибернации). Итак, у меня есть пара вопросов:

  1. Какие решения я должен искать в Google?
  2. Может быть, у вас есть какие-либо идеи, что происходит?

Комментарии:

1. setsid и nohup являются вашими ключевыми словами Google.

Ответ №1:

Попытка strace демона посмотреть, в чем причина его молчаливой смерти. Как правило, приостановка / гибернация сами по себе не должны влиять на пользовательские процессы.

Ответ №2:

Цикл демона блокировал вызов чтения, и приостановка (переход в спящий режим) прерывает его. Итак, следует более точно проверять ошибки.
Исправлено путем добавления:

 if ( errno == EINTR ) continue;