Jump to content

HamWay

Members
  • Content Count

    1
  • Joined

  • Last visited

    Never

About HamWay

  • Rank
    Newbie

Profile Information

  • Location
    Россия
  1. Debian4-RC3 (Intel/x86) Здравствуйте, у меня возникла такая проблема демон не может отделиться от родительского процесса, весь код брал из "Linux Daemon HOWTO". Что самое интересное это не первый демон которого я делаю но проблема возникла впервые. На другом сервере этот демон работает успешно. К томуже все старые демоны что были на этом сервере перестали работать подскажите в чем может быть причина где рыть. Привожу пример кода который также не работает на серваке, а на других работает: #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <errno.h> #include <unistd.h> #include <syslog.h> #include <string.h> int main(void) { FILE *fpo; /* Наши ID процесса и сессии */ pid_t pid, sid; /* Ответвляемся от родительского процесса */ pid = fork(); if (pid < 0) { exit(EXIT_FAILURE); } /* Если с PID'ом все получилось, то родительский процесс можно завершить. */ if (pid > 0) { exit(EXIT_SUCCESS); } fputs("Go next\n", fpo); /* Изменяем файловую маску */ umask(0); /* Здесь можно открывать любые журналы */ /* Создание нового SID для дочернего процесса */ sid = setsid(); //fputs(""+sid+"\n", fpo); if (sid < 0) { /* Журналируем любой сбой */ exit(EXIT_FAILURE); } /* Изменяем текущий рабочий каталог */ if ((chdir("/")) < 0) { /* Журналируем любой сбой */ exit(EXIT_FAILURE); } /* Закрываем стандартные файловые дескрипторы */ close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); /* Специфичная для демона инициализация проходит тут */ /* Большой Цикл */ while (1) { fpo = fopen("/var/www/html/_g7_dev/1_18e/log/deamon.log", "a"); fputs("Script worked\n", fpo); sleep(5); /* ждем 30 секунд */ fclose(fpo); } exit(EXIT_SUCCESS); } По не обходимости предоставлю все логи и конфиги, пока не монимаю что именно надо
×
×
  • Create New...