Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to have a list of all users that are active on my Linux system, including those who have running but detached screen sessions. The who command only shows me currently logged in users, but not users with detached screen sessions and the like.

I was contemplating parsing the output of ps but that would also make a user show if if he has a cron job running.

share|improve this question
add comment

2 Answers

up vote 3 down vote accepted

Try:

$ ps axno user,tty | awk '$1 >= 1000 && $1 < 65530 && $2 != "?"' | sort -u

This should tell you all UIDs with processes with a session terminal (like a window in screen). I use the UID to be weed out the 'system' users (like apache) and nobody (high UID), and ignore daemons.

share|improve this answer
    
Nice, thanks for this! –  Sander Marechal Nov 3 '11 at 6:52
add comment

You can try who, and the output of ps with a grep:

~$ ps aux | grep screen

And filter on user:

~$  ps aux | grep screen | grep $USER

(replace $user with the username).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.