Остановите и запустите демон Unix в C - PullRequest
1 голос
/ 17 июля 2011

Я пытаюсь разработать демон (Unix Plateforme) с этими возможностями (командная строка):

user@unixbox>myDaemon start // This start the daemon
user@unixbox>myDaemon stop // This stop the daemon
user@unixbox>myDaemon show // This will show some stuff that the daemon is doing

Если вы знаете какую-либо документацию или идеи о том, как это можно реализовать. пожалуйста, дайте мне знать:).

Спасибо.

1 Ответ

2 голосов
/ 17 июля 2011

Обычно это делается путем доставки сигналов процессу демона.

Вы должны выбрать определенный сигнал для ответа в вашем демоне (SIGTERM, SIGQUIT, SIGSTOP и т. Д.), Установив обработчик, который вызывается каждый раз, когда процесс получает сигнал.

Из оболочки вы можете отправлять сигналы процессу, используя команду kill(1).

Обратите внимание, что изящная остановка демона может быть довольно сложной, если у вас есть активные клиенты / соединения / задания. Обычно вы должны прекратить получать новые и подождать, пока последний не закончится.

...