Исправление vodz, (текущая версия) :
Но это имеет смысл делать только в самом начале программы.
Это ниоткуда не следует. Например, это единственный способ сделаться демоном на системах без MMU, там нет fork(), но есть vfork(). Такой метод юзается для запуска демонов-воркеров и конроллирующего процесса. Тогда контроллирующий процесс может сколько угодно настраиваться, а потом навызывать в нужное время с нужными именами себя в виде демона.
Проверять argv[0] тоже не всегда возможно по причине того, что самой программе это имя может ни о чём не говорить, первоначальное имя харкодить - плохой стиль. Уж лучше добавлять опцию, да хоть тот же --background, говорящий, что уходить в бэкграунд не надо.
Исходная версия vodz, :
Но это имеет смысл делать только в самом начале программы.
Это ниоткуда не следует. Например, это единственный способ сделаться демоном на системах без MMU, там нет fork(), но есть vfork(). Такой метод юзается для запуска демонов-воркеров и конроллирующего процесса. Тогда контроллирующий процесс может сколько угодно настраиваться, а потом навызывать в нужное время с нужными именами себя в виде демона.
Проверять argv[0] тоже не всегда возможно по причине того, что самой программе это имя может ни о чём не говорить, уж лучше добавлять опцию, да хоть тот же --background, говорящий, что уходить в бэкграунд не надо.