如何检查屏幕是否正在运行?
如何在Python中检查屏幕是否具有给定的名称。例如,检查server1是否正在运行?
谢谢 : )
How to check in Python whether the screen with the given name. For example, check if server1 is running?
Thanks : )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用于查找当前屏幕会话的内置命令是 screen -ls
要在 python 中获得相同的功能:
对代码的一些注释:
; true
和shell=True
因为 screen 返回退出代码1
,这与check_output
函数不能很好地配合。"."+
和+\t(
以确保我们匹配屏幕名称而不是打印输出的其他部分。The built in command for finding current screen sessions is
screen -ls
To get the same functionality in python:
A couple of comments on the code:
; true
andshell=True
because screen returns a exit code of1
, which doesn't play well with thecheck_output
function."."+
and+\t(
to make sure that we were matching the screen name and not another part of the printout.您可以使用 subprocess 和 pgrep:
you could use subprocess and pgrep:
首先,你想实现什么目标?您知道您可以简单地重新连接正在运行的屏幕会话,是吗?
同样,使用
screen -x -S admin
来共享admin
会话,而无需强制分离已连接的用户。直接回答:
您可以简单地使用列出所有正在运行的会话的输出
,显示它们是否也已附加:
First off, what are you trying to achieve? You know that you can simply reattach a running screen session, do you?
Likewise use
screen -x -S admin
to share theadmin
session without force-detaching the connected user(s).Direct answer:
You can simply use the output of
which lists all running sessions, showing whether they are attached as well: