I have to create a program, that displays result of 'uptime'. how to get amount of logged on users in c++ in linux?
            Asked
            
        
        
            Active
            
        
            Viewed 634 times
        
    -1
            
            
        - 
                    exactly what does the number of users have to do with `uptime`? – Marc B May 27 '15 at 18:27
- 
                    @MarcB: I imagine he wants to reproduce something like this uptime command: `jake@w700-ubuntu:~$ uptime 14:29:46 up 5:59, 2 users, load average: 0.16, 0.16, 0.24` – Jake May 27 '15 at 18:30
- 
                    @MarcB: From the man page for 'uptime': `uptime gives a one line display of the following information. The current time, how long the system has been running, **how many users are currently logged on**, and the system load averages for the past 1, 5, and 15 minutes.` – user3553031 May 27 '15 at 18:30
3 Answers
1
            
            
        Well, if you just want to execute commands using C++, you could use:
#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;
} 
 
    
    
        eol
        
- 23,236
- 5
- 46
- 64
- 
                    I need to send that information from serverTCP to clientTCP. I want to put that in string. Maybe there is a way to put system("uptime") result to string? – Tomsz Comasz May 28 '15 at 10:16
- 
                    yes, check out this link http://stackoverflow.com/questions/646241/c-run-a-system-command-and-get-output – eol May 28 '15 at 21:10
0
            
            
        That information is stored in /var/run/utmp.  This is a binary file; see the man page for utmp(5) for details.
 
    
    
        user3553031
        
- 5,990
- 1
- 20
- 40
- 
                    As I said, read the `man` page for `utmp`. It describes how to use that file. – user3553031 Jun 04 '15 at 20:16
- 
                    [Documentation can also be found on the Internet](http://linux.die.net/man/5/utmp). I've never actually used utmp, so I can't be much more specific. – user3553031 Jun 08 '15 at 17:58
0
            I got it! Write in C file system("users | wc -w > text"); and check text.txt file. Next load that information from txt file
 
    
    
        Tomsz Comasz
        
- 123
- 1
- 8