Russian Qt Forum

Qt => Общие вопросы => Тема начата: Zmeishe от Май 28, 2008, 14:12



Название: QProcess + daemon
Отправлено: Zmeishe от Май 28, 2008, 14:12
Qt 4.3.3

Написал гвардейца, который запускал сервера приложений через QProcess и каждые N секунд проверял отвалился кто из них или нет  my_proc->state() == QProcess::Running и поднимал отвалившийся заново.
Пока сервера приложений были приложениями с точки зрения ОС - всё работало.
Сделал из них daemon для Linux.
Проверять my_proc->state() == QProcess::Running стало бессмысленно - всегда QProcess::NotRunning
Но и my_proc->pid() равен 0.

Как же выяснить жив daemon или не жив ?


Название: Re: QProcess + daemon
Отправлено: ритт от Май 28, 2008, 15:16
первое, что в голову пришло - сделать в демоне проверку на другой экзепляр
в демона уходишь форком?


Название: Re: QProcess + daemon
Отправлено: Zmeishe от Май 28, 2008, 15:23
в демона уходишь форком?

#include <unistd.h>
#include <QtCore/QCoreApplication>
...
int main(int argc, char ** argv)
{
daemon(0, 0);
QCoreApplication ...
}


Название: Re: QProcess + daemon
Отправлено: ритт от Май 28, 2008, 15:30
обёртка над форком
http://www.sbin.org/doc/unix-faq/programmer/faq_8.html