Для того, чтобы процесс стал демоном, программисты используют вызов fork(), например, следующим образом:

[-]
View Code C
chdir("/");
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);

pid_t pid = fork();
switch (pid) {
    case 0:
        // Child code — hello from the daemon
        break;

    case -1:
        perror("fork");
        exit(EXIT_FAILURE);

    default:
        exit(EXIT_SUCCESS);
}

Код рабочий, но с точки зрения безопасности не самый лучший. Далее

8
Март
2009

va_list и Segmentation Fault

Vladimir
Опубликовано в: C/C++

Недавно пришлось вспомнить молодость и программирование на C. В результате столкнулся с одной очень неочевидной ошибкой.

Те, кто программируют под Linux/UNIX, вероятно, знают о функции vsyslog. Её приятной особенностью является то, что вместо переменного количества аргументов она берет фиксированное количество, последним из которых является аргумент типа va_list. Недостаток функции — она не входит в стандарты POSIX (то есть в коде её можно использовать на свой страх и риск — и не забыть добавить проверку на её существование в autoconf). Далее

3
Март
2009

В статье "Подсчёт трафика в nginx" я приводил один из возможных вариантов живого подсчёта трафика в nginx.

У прошлого решения есть недостатки:

  • используется три лишних процесса;
  • используется много файловых дескрипторов (зависит от количества виртуальных хостов).

Я на днях нашёл еще один вариант. Далее

21
Фев
2009

Данная статья написана по просьбам трудящихся.

Начнём с теории: что такое SPF и для чего он нужен.

Sender Policy Framework (SPF, структура политики отправителя) — расширение для протокола отправки электронной почты SMTP, благодаря которму можно проверить, не подделан ли домен отправителя.

SPF позволяет указать в записи TXT (или SPF), соответствующей имени домена, специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в данном домене. Дальнейшие детали, а также мастер создания SPF-записей можно найти на официальном сайте проекта. Далее

31
Авг
2008

GNU is not UNIX

Vladimir
Опубликовано в: Всё подряд

Позавчера с женой были в Харькове; завтракая в местном буфете на вокзале, абсолютно случайно увидел за соседним столиком товарища, как две капли воды похожего на небезызвестного Ричарда Столлмэна :-) Конечно, это был не он… Но сколько всего пронеслось перед глазами… :-) Остановилось всё на его лекции в ВМиК МГУ на такой картине:

И на полном автомате подсознание выдало: GNU is not UNIX, Gnu is antelope (гну — это не Юникс, гну — это антилопа).

Вот такие вот подсознательные реакции вызывает у меня RMS :-)

27
Май
2008