Страниц: [1]
  Печать  
Автор Тема: Время наработки  (Прочитано 7206 раз)
academic
Участник
*
Offline Offline

Сообщений: 7


Просмотр профиля
« : Апреля 23, 2015, 02:38:23 pm »

Как в QNX 6.5 посмотреть сколько уже времени работает встраиваемая система (ПК)?
Записан
darkelf
QOR.Moderator
*****
Offline Offline

Сообщений: 256


Просмотр профиля
« Ответ #1 : Апреля 23, 2015, 04:16:17 pm »

Как в QNX 6.5 посмотреть сколько уже времени работает встраиваемая система (ПК)?
В QNX 6.3.2 при вызове утилиты pidin с параметром info выводилось, кроме всего прочего, дата и время запуска системы.  Возможно подобная функциональность есть и в QNX 6.5
Записан
academic
Участник
*
Offline Offline

Сообщений: 7


Просмотр профиля
« Ответ #2 : Апреля 24, 2015, 10:50:10 am »

Вывод команды pidin info
Записан
darkelf
QOR.Moderator
*****
Offline Offline

Сообщений: 256


Просмотр профиля
« Ответ #3 : Апреля 24, 2015, 11:37:51 am »

Вывод команды pidin info
Команда pidin info в поле "BootTime:" сообщает дату-время запуска.
Команда date сообщает текущую дату-время.
Если сравнить одно с другим, можно получить сколько проработала система.
« Последнее редактирование: Апреля 24, 2015, 11:41:11 am от darkelf » Записан
AG
QOR.Moderator
*****
Offline Offline

Сообщений: 872



Просмотр профиля WWW
« Ответ #4 : Апреля 27, 2015, 09:49:52 am »

+ поправка на зимнее/летнее время и високосный год чтоб точнее было.
Код утилиты pidin был доступен в репозитории coreos_pub. Там можно глянуть как конкретно они там эту информацию получают.
Записан

mv
Full Member
***
Offline Offline

Сообщений: 153


Просмотр профиля
« Ответ #5 : Апреля 27, 2015, 04:02:54 pm »

В SYSPAGE_ENTRY(qtime)->boot_time хранится время на момент старта.
И есть чудесная утилита uptime которая выводит время работы с момента загрузки.
Записан
PoP
Sr. Member
****
Offline Offline

Сообщений: 336


Просмотр профиля
« Ответ #6 : Мая 05, 2015, 11:42:31 am »

Угу. До тех пор, пока время истемы никто не переставил. Наприрр, стартовала она без батарейки с 0:0 чего-нибудь 1970,
а потом узнала время/дату - ну там по сети, от GPS или ищё откуда. Ну, и привела себя в порядок...
Записан
darkelf
QOR.Moderator
*****
Offline Offline

Сообщений: 256


Просмотр профиля
« Ответ #7 : Мая 05, 2015, 03:19:41 pm »

Угу. До тех пор, пока время истемы никто не переставил. Наприрр, стартовала она без батарейки с 0:0 чего-нибудь 1970,
а потом узнала время/дату - ну там по сети, от GPS или ищё откуда. Ну, и привела себя в порядок...
Тогда, как вариант, попробовать использовать clock_gettime(CLOCK_MONOTONIC, &ts); Из документации следует, что это время идёт всегда вперёд с постоянной скоростью, не может быть переведено и начинает идти с 0с 0нс. Осталось только узнать, является ли 0с 0нс временем запуска системы или временем запуска процесса, к сожалению об этом в документации не написано (или я не увидел).

В Linux, вроде, CLOCK_MONOTONIC считает именно со времени запуска системы, правда в стандарте это не указано, так-что может в разных системах делаться по-разному и даже меняться, сорри за тавтологию, время от времени.
« Последнее редактирование: Мая 05, 2015, 03:26:22 pm от darkelf » Записан
mv
Full Member
***
Offline Offline

Сообщений: 153


Просмотр профиля
« Ответ #8 : Мая 06, 2015, 06:08:15 pm »

Угу. До тех пор, пока время истемы никто не переставил. Наприрр, стартовала она без батарейки с 0:0 чего-нибудь 1970,
а потом узнала время/дату - ну там по сети, от GPS или ищё откуда. Ну, и привела себя в порядок...

Да, есть такой момент. Систем которые 45 лет отработали по-моему еще не было. 15 было.


Для этого они опцию -T startup'у добавили, чтобы не startup время выставлял, а оно ставилось первый раз когда дергают ClockTime()

Цитировать
-T
    Prevent the startup program from setting the SYSPAGE_ENTRY(qtime)->boot_time field. If this field is 0 the first time you call ClockTime() to change the time of day, the kernel sets it to the appropriate value. This is useful if the RTC hardware isn't in UTC.


Вообще, для нормального учета рабочего времени в любом случае придётся либо что-нибудь готовое взять типа uptimed, либо что-нибудь своё писать (скрипт/сron/...).
Записан
PoP
Sr. Member
****
Offline Offline

Сообщений: 336


Просмотр профиля
« Ответ #9 : Мая 06, 2015, 06:38:15 pm »

В принципе, CLOCK_MONOTONIC должно хватить. В 4-ке такого небыло.
Записан
academic
Участник
*
Offline Offline

Сообщений: 7


Просмотр профиля
« Ответ #10 : Февраля 11, 2016, 04:45:14 pm »

А где взять uptimed под QNX?
Записан
Страниц: [1]
  Печать  
 
Перейти в: