Перейти к содержанию

Debian: crash daemon


Рекомендуемые сообщения

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);
}

По не обходимости предоставлю все логи и конфиги, пока не монимаю что именно надо

Ссылка на комментарий
Поделиться на другие сайты

Можно прогнать через strace, но если такое со всем софтом - разбираться надо в системе, а не в программе. Например, для начала прогнать fsck на всех файловых системах...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...