我有一堆服务器,我在其上运行实验screen
.程序如下:
ssh
到服务器XXX
发射 screen
在几个标签中开始实验
分离 screen
断开与服务器的连接
在实验运行的同时,我可以通过ssh
所有服务器轻松找到它们所在的服务器并列出我正在运行的进程(使用top
或ps
).
但是,一旦实验完成,我怎么能找到我打开屏幕会话的服务器(这样我可以查看输出,重新启动它们等)?
PS:我的实验也会将输出打印到文件中......但这不是我的问题.
要列出用户的所有屏幕会话,请以该用户身份运行以下命令:
screen -ls
要查看特定计算机上的所有屏幕会话,您可以:
ls -laR /var/run/screen/
我在我的机器上得到这个:
gentle ~ # ls -laR /var/run/screen/ /var/run/screen/: total 1 drwxrwxr-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-josh drwx------ 2 root root 48 Feb 11 10:50 S-root /var/run/screen/S-josh: total 0 drwx------ 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 0 drwx------ 2 root root 48 Feb 11 10:50 . drwxrwxr-x 4 root utmp 96 Mar 1 2005 ..
这是一个相当出色的Unixy用途,包含在文件系统权限中的Unix套接字,用于处理安全性,状态和流.
命令屏幕列表可能是您想要的.
见男人
虽然joshperry的回答是正确的,但我发现它并没有告诉你屏幕名称(你用-t选项设置的那个),这实际上就是你用来识别会话的东西.(当然,这不是他的错,这是一个屏幕的缺陷)
这就是为什么我改为使用这样的脚本: ps auxw|grep -i screen|grep -v grep
我不确定你的问题,但如果您真正想要的是列表当前打开的屏幕会话,请尝试:
screen -ls
For windows system Open putty then login in server
如果要在Console中查看屏幕,则必须编写命令
Screen -ls
如果你必须访问屏幕,那么你必须使用以下命令
screen -x screen id
PWD
在命令行中写入以检查您当前在哪个文件夹中