parsing the output of the 'w' command?

Posted by Blackbinary on Stack Overflow See other posts from Stack Overflow or by Blackbinary
Published on 2011-03-06T15:24:36Z Indexed on 2011/03/06 16:10 UTC
Read the original article Hit count: 211

Filed under:
|
|
|

I'm writing a program which requires knowledge of the current load on the system, and the activity of any users (it's a load balancer).

This is a university assignment, and I am required to use the w command. I'm having a hard time parsing this command because it is very verbose. Any suggestions on what I can do would be appreciated. This is a small part of the program, and I am free to use whatever method i like.

The most condensed version of w which still has the information I require is `w -u -s -f' which produces this:

 10:13:43 up  9:57,  2 users,  load average: 0.00, 0.00, 0.00
 USER     TTY         IDLE WHAT
 fsm      tty7      22:44m x-session-manager
 fsm      pts/0      0.00s w -u -s -f

So out of that, I am interested in the first number after load average and the smallest idle time (so i will need to parse them all).

My background process will call w, so the fact that w is the lowest idle time will not matter (all i will see is the tty time).

Do you have any ideas?

Thanks

(I am allowed to use alternative unix commands, like grep, if that helps).

© Stack Overflow or respective owner

Related posts about c

    Related posts about homework