Форум программистов, компьютерный форум CyberForum.ru

С под Linux

Войти
Регистрация
Восстановить пароль
 
Антон Бутов
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 9
#1

Где лучше хранить значение переменной? - C Linux

04.12.2016, 17:04. Просмотров 312. Ответов 2
Метки нет (Все метки)

Есть переменная меняющаяся каждую секунду, где лучше всего хранить ее значение, чтобы была возможность это значение получить из других программ. Предположим, есть некий демон, который считает количество секунд. И есть скрипт cgi который должен получить это значение при обращении к нему из веббраузера. Возможно ли эту переменную как-то получать из оперативной памяти другой программой? Допустим программа-1 присвоила переменной значение 34563, как это значение получить из другой программы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2016, 17:04     Где лучше хранить значение переменной?
Посмотрите здесь:
Вывести значение переменной окружения C Linux
C Linux Как можно хранить константную строку из символов кириллицы и работать с ней?
Delphi Где лучше хранить данные
C# Где лучше хранить настройки?
Где лучше хранить информацию PHP
Где лучше хранить контент? PHP
Где лучше хранить данные таблиц? C++
Где лучше хранить рисунки в приложении? Android
C# MVC Где лучше хранить id собеседника SignalR?
Где лучше всего хранить настройки приложения C# .NET 4.x
Как и где лучше хранить текстовые данные Java SE
PHP Как и где лучше хранить Мета теги

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dovgon
109 / 80 / 22
Регистрация: 08.04.2010
Сообщений: 502
04.12.2016, 20:40     Где лучше хранить значение переменной? #2
Inter-process communication (IPC), должно подойти разделенная память.
Антон Бутов
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 9
05.12.2016, 06:42  [ТС]     Где лучше хранить значение переменной? #3
Спасибо, почитал и нифига не понял, видимо, это какой-то высший пилотаж программирования. В общем может кто поможет решить таку вот задачку, есть простенький код
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
#include <stdio.h>
#include <time.h>
#include <sys/types.h>
 
 
 
int num; // Переменная для цикла основной программы
// ==== установка портов приема данных=======
 
int CatchWaterKitchen =1;
 
 
 
 
// ================конец==============
double rz1;
double rz2;
double rz3;
double rz4;
double rz5;
 
int main(void) {
 
//=============конец сетапов================================
time_t TimeWaterKitchenStop; // присвоение типа перенной тайм
time_t TimeWaterKitchenStart; // присвоение типа перенной тайм
 
TimeWaterKitchenStop = time (NULL); // получение текущего времни
TimeWaterKitchenStart = time (NULL); // получение текущего времни
 
 
for(num = 1; num < 70; num++)
 
{
 
 
 
if(CatchWaterKitchen == 1 ) 
  {
TimeWaterKitchenStart = time (NULL);
rz1 = difftime(TimeWaterKitchenStart, TimeWaterKitchenStop);
rz2 = rz1+5;
rz3= rz1+15;
rz4 = rz1+ 17;
rz5 = rz1 +22;
 
printf(" %f sec \n", rz1);
printf(" %f sec \n", rz2);
printf(" %f sec \n", rz3);
printf(" %f sec \n", rz4);
printf(" %f sec \n", rz5);
 delay(1000);
 
   }
else {
}
 
pppp();
 
 
 
}
 
return 0 ;
 
}
 
int pppp()
      {
         time_t     now;
    struct tm *ts;
    char       buf[80];
 
    /* Get the current time */
    now = time(NULL);
 
    /* Format and print the time, "ddd yyyy-mm-dd hh:mm:ss zzz" */
    ts = localtime(&now);
 
 
    strftime(buf, sizeof(buf), "%a %Y-%m-%d %H:%M:%S %Z", ts);
    puts(buf);
 
    return 0;
      }
Задача связать этого демона с PHP страничкой. Есть несколько переменных rz1 -- rz5 нужно передать их в оперативную память, не обращаясь к диску и оттуда считать PHP , те увидеть их на страничке. как я понимаю это делается коммандой shmop_write . Может кто поможет, это нужно для умного дома?

Добавлено через 5 минут
Суть такая, при сработке датчика начинает тикать таймер, этот таймер контролирует демон, который по понятным причинам работает круглосуточно и мониторит состояние датчиков. Таймер показывает как много прошло времени с момента сработки датчика. например , я пропустил момент "протечки", тем временем демон насчитал 3тыс секунд с момента потопа. Я захожу на свою веб страничку и должен увидеть, что прошло 3000, 30001, 3002 сек и тд Сама система работает под linux на orangePi , то есть с флешки, к которое посекундное обращение не желательно, соответвенно остается только вариант писать количество секунд в распределенную оперативную память и оттуда же ее считывать самим кодом веб-страницы. Если задача достаточно сложная. то рассмотрю вопрос оплаты труда.

Добавлено через 1 минуту
PS код счас оптимизирован, и переменные содержат просто расчитанные значения, но это не важно, сейчас главное передать эти значения в PHP
Yandex
Объявления
05.12.2016, 06:42     Где лучше хранить значение переменной?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru