How to list running screen sessions? How to list running screen sessions? bash bash

How to list running screen sessions?


To list all of the screen sessions for a user, run the following command as that user:

screen -ls

To see all screen sessions on a specific machine you can do:

ls -laR /var/run/screen/

I get this on my machine:

gentle ~ # ls -laR /var/run/screen//var/run/screen/:total 1drwxrwxr-x  4 root utmp   96 Mar  1  2005 .drwxr-xr-x 10 root root  840 Feb  1 03:10 ..drwx------  2 josh users  88 Jan 13 11:33 S-joshdrwx------  2 root root   48 Feb 11 10:50 S-root/var/run/screen/S-josh:total 0drwx------ 2 josh users 88 Jan 13 11:33 .drwxrwxr-x 4 root utmp  96 Mar  1  2005 ..prwx------ 1 josh users  0 Feb 11 10:41 12931.pts-0.gentle/var/run/screen/S-root:total 0drwx------ 2 root root 48 Feb 11 10:50 .drwxrwxr-x 4 root utmp 96 Mar  1  2005 ..

This is a rather brilliantly Unixy use of Unix Sockets wrapped in filesystem permissions to handle security, state, and streams.


The command screen -list may be what you want.

See the man


While joshperry's answer is correct, I find very annoying that it does not tell you the screen name (the one you set with -t option), that is actually what you use to identify a session.(not his fault, of course, that's a screen's flaw)

That's why I instead use a script such as this: ps auxw|grep -i screen|grep -v grep