Я знаю, есть два пути
- вызов функции sysinfo
- / proc / время безотказной работы
Я думаю, что sysinfo получает время безотказной работы из / proc / uptime. Но проблема в том, что если пользователь выходит из системы и снова входит в систему, таймер не сбрасывается. Это продолжается.
В Windows GetTickCount64 () сбрасывает таймер при выходе пользователя из системы и входе в систему. Я хочу что-то подобное в linux.
Итак, как мне узнать время, прошедшее с момента последнего входа в систему?
Спасибо
изменить: код С ++ или вызов функции api было бы лучше, вместо того, чтобы запускать процесс для вызова команды who или last
who
? - person David C. Rankin   schedule 17.09.2019GetTickCount64
гарантированно покажет время с момента входа в систему? В документации ничего подобного не говорится. - person t.niese   schedule 17.09.2019who
. Страница руководства немного скудна. Может потребоваться найтиinfo
страницу. - person David C. Rankin   schedule 17.09.2019man 5 utmp
. - person Oliv   schedule 17.09.2019GetTickCount64
, а не в том случае, если вы проверили его вручную. Вам не следует полагаться на наблюдения, а не на то, что вам сообщает документация. А вот запись в блоге разработчика msThe purpose of GetTickCount is to let you measure intervals of time. [...] applications should not ascribe any meaning to the zero point of the tick counter.
- person t.niese   schedule 17.09.2019