2015-05-27 2 views
-1

Мне нужно создать программу, которая отображает результат «времени безотказной работы». как получить количество зарегистрированных пользователей в C++ в linux?Извлечение количества зарегистрированных пользователей в C++ в linux

+0

именно то, что число пользователей связано с 'uptime'? –

+0

@MarcB: Я думаю, он хочет воспроизвести что-то вроде этой команды uptime: 'jake @ w700-ubuntu: ~ $ uptime 14:29:46 до 5:59, 2 пользователей, в среднем: 0.16, 0.16, 0.24' – Jake

+0

@MarcB: со страницы man для «времени безотказной работы»: 'uptime дает однострочный дисплей следующей информации. Текущее время, продолжительность работы системы **, сколько пользователей в настоящее время зарегистрировано **, а также средние значения загрузки системы за последние 1, 5 и 15 минут. « – user3553031

ответ

0

Я понял! Запись в C-файловой системе («пользователи | wc -w> текст»); и проверьте файл text.txt. Следующая загрузка этой информации из txt-файла

1

Ну, если вы просто хотите, чтобы выполнять команды с помощью C++, вы можете использовать:

#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
    //execute uptime command 
    system("uptime"); 
    //one way to "count" the currently logged users 
    system("users | wc -w"); 
    //or another way 
    system("who | wc -l"); 
    return 0; 
} 
+0

Мне нужно отправить эту информацию с сервераTCP к clientTCP. Я хочу поместить это в строку. Может быть, есть способ привести результат системы («uptime») к строке? –

+0

да, посмотрите эту ссылку http://stackoverflow.com/questions/646241/c-run-a-system-command-and-get-output – eol

0

Эта информация хранится в /var/run/utmp. Это двоичный файл; см. страницу man для utmp(5).

+0

Как получить эту информацию? –

+0

Как я уже сказал, прочитайте страницу 'man' для' utmp'. В нем описывается, как использовать этот файл. – user3553031

+0

sry, но man dosent узнает utmp –

Смежные вопросы