Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/33: Рейтинг темы: голосов - 33, средняя оценка - 4.64
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 62

Создать демон, проверяющий факт модификации файлов

07.06.2011, 17:21. Показов 7123. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите закончить программу под линукс
Нужно написать демон под линукс который бы проверял заданий каталог каждые 3 мин. на придет наличия ,отсутствия и модификации файлов и записывал результаты в лог файл (лудше всего что б было 2 отдельных процесса которые вели б 2 отдельных лога) был написан демон
но как заставить выполнять нужное мне действия вместо выполнения команды я не знаю с линуксом дела не имела (((

склет демона :

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <syslog.h>
 
int Daemon(void);
char* getTime();
int writeLog(char msg[256]);
char* getCommand(char command[128]);
 
char* getTime() { //функция возвращает форматированную дату и время
time_t now;
struct tm *ptr;
static char tbuf[64];
bzero(tbuf,64);
time(&now);
ptr = localtime(&now);
strftime(tbuf,64, "%Y-%m-%e %H:%M:%S", ptr);
return tbuf;
}
 
char* getCommand(char command[128]) { //функция возвращает результат выполнения linux команды
FILE *pCom;
static char comText[256];
bzero(comText, 256);
char buf[64];
pCom = popen(command, "r");
if(pCom == NULL) {
writeLog("Error Command");
return "";
}
strcpy(comText, "");
while(fgets(buf, 64, pCom) != NULL) {
strcat(comText, buf);
}
pclose(pCom);
return comText;
}
 
int writeLog(char msg[256]) { //функция записи строки в лог
FILE * pLog;
pLog = fopen("/home/CENTRAL/skan/daemon/daemon.log", "a");
if(pLog == NULL) {
return 1;
}
char str[312];
bzero(str, 312);
strcpy(str, getTime());
strcat(str, " ==========================\n");
strcat(str, msg);
strcat(str, "\n");
fputs(str, pLog);
//fwrite(msg, 1, sizeof(msg), pLog);
fclose(pLog);
return 0;
}
 
int main(int argc, char* argv[]) {
writeLog("Daemon Start");
 
pid_t parpid, sid;
 
parpid = fork(); //создаем дочерний процесс
if(parpid < 0) {
exit(1);
} else if(parpid != 0) {
exit(0);
}
umask(0);//
sid = setsid();//генерируем уникальный индекс процесса
if(sid < 0) {
exit(1);
}
if((chdir("/")) < 0) {
exit(1);
}
close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
 
return Daemon();
}
 
int Daemon(void) {
char *log;
while(1) {
log = getCommand("who");
if(strlen(log) > 5) {
writeLog(log);
}
sleep(600);
}
return 0;
}
Буду очень благодарна есле кто поможет(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2011, 17:21
Ответы с готовыми решениями:

Нужно создать демон....как?
задача. Создать процесс работающий от рута, постоянно работающий (это демон будет). И создать exec файл, который при запуске НЕ от...

Переименование файлов по дате модификации
Добрый день. Помогите с BAT файлом. Требования Скрипт должен переименовывать файлы типа ABC_XXXX.jpg в файлы YY_MM_DD.jpg где YY_MM_DD -...

Защита файлов флешки от модификации
Подскажите, народ, как установить элементарнейшую защиту от записи. Нужно потестить проги с флехи. Одно из условий чтобы эти проги не...

24
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 62
20.06.2011, 16:01  [ТС]
Студворк — интернет-сервис помощи студентам
некто не хочет показать как реалезовать вашу процедуру внутри мого демона
0
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
20.06.2011, 16:19
Цитата Сообщение от Anya) Посмотреть сообщение
некто не хочет показать как реалезовать вашу процедуру внутри мого демона
сочувствую) но всем лень
0
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 62
20.06.2011, 17:54  [ТС]
фее лень эт плоха показали б я б наконец сдала б уже((
0
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 62
28.06.2011, 17:55  [ТС]
всё сделала и сдала эту каку всем спасибо)
1
2 / 2 / 0
Регистрация: 10.05.2012
Сообщений: 45
14.06.2012, 18:46
Так выложите код, чтобы все могли поучиться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2012, 18:46

Определить факт пересечения объектов и факт включения одного объекта в другой
Создается много плоских фигур(прямо, квадраты и другие) вершины задаются координатами. Помогите пожалуйста определить факт пересечения...

Доработать скрипт, проверяющий существование файлов, введенных в командной строке
И еще вопрос. Написал скрипт, который проверяет существование файлов введенных в командной строке. Все работает правильно. Писал с...

Удаления файлов с определенной датой модификации
Доброго времени суток! Суть задачи такова, необходимо написать скрипт, который удалял бы в папке файлы определенной даты модификации....

Как создать проверяющий файл?
Допусти у нас есть откомпилированный файл &quot;time.cpp&quot;. И есть куча тестов: &quot;1.a&quot;(ответ в &quot;1&quot;), &quot;2.а&quot;(ответ в &quot;2) и...

Создать поток, проверяющий состояние каталога
Необходимо написать приложение, которое контролирует состояние файлов в некоторой директории. Обработчик сообщений окна: LRESULT...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли Введение: Экологический рынок как игра с нулевой суммой Традиционная экология долгое время. . .
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ Введение: Синдром «цифрового учебника» Современные большие языковые модели (LLM) обладают колоссальным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru