Что нужно сделать, чтобы процесс отсоединился от терминала? Для этого я нашел страницу руководства daemon ()
В описании они упомянули
Если nochdir равен нулю, daemon () изменяет текущую работу процесса. каталог в корневой каталог ("/"); в противном случае текущий рабочий каталог остается без изменений.
Если noclose равно нулю, daemon () перенаправляет стандартный ввод, стандартный вывод и стандартная ошибка в / dev / null; в противном случае никаких изменений в эти файловые дескрипторы.
На самом деле, я пытался запустить свой код на Python как демон. Я нашел tcollector
код здесь . В этом коде они также выполняют те же шаги, что и в описании daemon ()
. Итак, мой вопрос: зачем нам делать эти шаги (wrt daemonize ()
в tcollector
), например
, зачем менять dir
на /
, umask
на 022
, а затем вызов os.setsid ()
и т. Д.