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