Я пишу приложение-демон для Debian Sid. Он прекрасно работает в большинстве случаев, но тихо умирает после того, как я положил свой ноутбук в режим ожидания (или спящий режим). Итак, у меня есть пара вопросов:
Попробуйте strace -ing демон, чтобы понять, по какой причине он молча умирает. Как правило, только приостановка / гибернация не должна влиять на пользовательские процессы.
strace
Цикл демона был при блокировке вызова чтения, и приостановить (спящий режим) прерывает его Итак, следует более точно проверять ошибки. Исправлено добавлением:
if ( errno == EINTR ) continue;