我有一堆服务器,我在上面用屏幕运行实验。操作步骤如下:

ssh到服务器XXX 启动屏幕 在几个标签开始实验 分离的屏幕 从服务器断开连接

当实验正在运行时,我可以通过对所有服务器进行sshing并列出我正在运行的进程(使用top或ps)来轻松地找到它们在哪些服务器上。

然而,一旦实验完成,我如何才能找到在哪些服务器上打开了屏幕会话(以便我可以查看输出,重新启动它们,等等)?

PS:我的实验也把它们的输出打印到文件中…但这不是我问题的重点。


当前回答

所以你是在用屏幕让实验在后台运行,还是什么?如果是这样,为什么不直接在后台启动呢?

./experiment &

如果你问如何通知我所做的工作,如何将实验与邮件命令连接在一起?

./experiment && echo "the deed is done" | mail youruser@yourlocalworkstation -s "job on server $HOSTNAME is done"

其他回答

命令屏幕-list可能是你想要的。

看那个男人

所以你是在用屏幕让实验在后台运行,还是什么?如果是这样,为什么不直接在后台启动呢?

./experiment &

如果你问如何通知我所做的工作,如何将实验与邮件命令连接在一起?

./experiment && echo "the deed is done" | mail youruser@yourlocalworkstation -s "job on server $HOSTNAME is done"

很多人已经指出了这一点

$ screen -ls

会列出屏幕会话。

这是另一个可能对你有用的技巧。

如果您在.bashrc . xml文件的最后一行添加以下命令 文件,然后它将自动重新连接到您的 登录时屏幕会话。

screen -d -r

希望对你有用。

ps x | grep屏幕

如果您使用了该命令,可以查看该屏幕正在运行什么

screen -A -m -d php

我不太确定你的问题,但如果你真正想要的是列出当前打开的屏幕会话,请尝试:

screen -ls