Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для sizzam
1 / 1 / 0
Регистрация: 09.01.2018
Сообщений: 15
1

Написать программу, которая будет превращать себя в демона Linux

09.01.2018, 19:45. Показов 1680. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет. Может у кого есть пример кода?
Миниатюры
Написать программу, которая будет превращать себя в демона Linux   Написать программу, которая будет превращать себя в демона Linux  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.01.2018, 19:45
Ответы с готовыми решениями:

Как написать программу, которая каждый раз будет вести себя по-разному
В общем в 2 словах о себе- немного программировал очень много лет тому назад, работая в научной лаборатории. Программы были самые простые с...

как создать программу которая будет себя копировать?
//????????????

Как создать программу, которая будет записывать себя в автозагрузку?
как зделать чтобы прога при запуске записывала себя в автозагрузку

2
 Аватар для Olej
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
11.01.2018, 23:54 2
Цитата Сообщение от sizzam Посмотреть сообщение
Может у кого есть пример кода?
Пример готовый есть в известной книге Робачевского, например, там же описаны перечислением те требования, которые должен выполнить процесс, для того чтобы корректно стать демоном (демоном можно стать и не совсем корректно).
Ещё детальнее всё это описано в книге Р.Стивенса "UNIX. Профессиональное программирование".
Готовый образец кода можете взять здесь: Пример приложения демона на С++.

Но фокус в том, что с переходом большинства дистрибутивов Linux с системы управления сервисами SysV на систему systemd, перечень требований к программе для перехода в демоны несколько поменялся. А происходило это совсем недавно, года с 2014 ... и все книги по UNIX написанные за 35 лет в этом смысле являются устаревшими и неточными ... а новых ещё не написано.
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
12.01.2018, 15:40 3
Лучший ответ Сообщение было отмечено sizzam как решение

Решение

Цитата Сообщение от Olej Посмотреть сообщение
Но фокус в том, что с переходом большинства дистрибутивов Linux с системы управления сервисами SysV на систему systemd, перечень требований к программе для перехода в демоны несколько поменялся. А происходило это совсем недавно, года с 2014 ... и все книги по UNIX написанные за 35 лет в этом смысле являются устаревшими и неточными ... а новых ещё не написано.
Не пуйтайте праведное (детач от шела) с грешным (способ системной инициализации).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
 
volatile int should_work = 1;
 
void sigint_handler(int sig)
{
    (void)sig;
    should_work = 0;
}
 
int main()
{
    if (daemon(0, 0) != 0)
        printf("daemon() error: %s.\n", strerror(errno));
 
    signal(SIGINT, sigint_handler);
 
    for (;should_work;)
    {
        sleep(1);
    }
 
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.01.2018, 15:40
Помогаю со студенческими работами здесь

Написать программу которая будет требовать пароль до тех пор пока он не будет введен верно
Написать программу которая будет требовать пароль до тех пор пока он не будет введен верно.

Написать программу, которая будет вводить с клавиатуры положительные числа до тех пор, пока не будет введена -1.
Всем привет! Прошу помочь выполнить эти 2 задания в Python: 1) Билеты на общественный транспорт обычно имеют шестизначные номера....

Написать программу,которая выводит на экран дисплея саму себя
помогите сделать с помощью текстового и типизированного файла. Написать программу,которая выводит на экран дисплея саму себя

Написать программу, которая спрашивает у пользователя, как должен вести себя шар
Написать программу, которая спрашивает у пользователя, как должен вести себя шар: 1 - расти из центра до границ экрана; 2 - уменьшаться...

Написать программу, которая будет считать 5!
Здравствуйте очень нужна ваша помощь,готовлюсь к сесcии,а она в пятницу ,программа в visual basik 6.0 написать не совсем понял как,нужен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
std::mutex в C++: Хитрости и тонкости использования
Wired 03.03.2025
В C++ ключевым инструментом для обеспечения корректной работы параллельных процессов выступает std::mutex – примитив синхронизации, появившийся в стандарте C++11. До его появления использовали. . .
std::span в C++: Производительно­сть и практическое использование
Wired 03.03.2025
Традиционная работа с указателями и массивами часто приводит к ошибкам и уязвимостям в безопасности. Именно поэтому в C++20 появился std::span - легковесная обертка, обеспечивающая безопасный. . .
std::span в C++: Константность и безопасность типов
Wired 03.03.2025
std::span - представитель семейства view-типов, появившийся в стандарте C++20. Этот компонент предоставляет легковесное и эффективное решение для работы с непрерывными последовательностями данных,. . .
std::span в C++: Subview и Slice
Wired 03.03.2025
std::span - невладеющий тип данных C++, который предоставляет гибкий интерфейс для работы с непрерывными последовательностями элементов. Этот тип существенно упрощает обработку массивов и. . .
std::span в C++: Доступ к элементам и итерирование
Wired 03.03.2025
Появление std::span в стандарте C++20 стало значительным шагом вперед, предоставив разработчикам средство для безопасного и производительного доступа к непрерывным последовательностям элементов. . . .
std::span в C++: Управление массивами данных без владения
Wired 03.03.2025
Новый класс std::span, появившийся в стандарте C++20, открывает возможности для оптимизации работы с последовательными наборами данных. По сути, это легковесная обертка, которая предоставляет доступ. . .
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru