找出屏幕ID

The*_*Lad 9 ssh ubuntu gnu-screen php

我想用 PHP 用 SSH 启动一个程序,效果很好,但现在我想用 PHP 杀死屏幕,但我唯一知道的是屏幕的名称。如何(自动)找出屏幕 ID?

slm*_*slm 10

您可以使用环境变量 $STY来确定您是否在屏幕会话中以及您所在的会话的名称是什么。

例子

最初我们坐在终端窗口中,而不是在屏幕会话中。

$ echo $STY

$
Run Code Online (Sandbox Code Playgroud)

启动屏幕会话:

$ screen -ls
There is a screen on:
    31543.tscrn (Detached)
1 Socket in /var/run/screen/S-saml.
Run Code Online (Sandbox Code Playgroud)

连接到它:

$ screen -r 31543.tscrn
Run Code Online (Sandbox Code Playgroud)

内屏会话:

$ echo $STY
31543.tscrn
$
Run Code Online (Sandbox Code Playgroud)

杀死会话

使用会话的名称,您可以使用screen.

$ screen -X -S tscrn kill
Run Code Online (Sandbox Code Playgroud)

您也可以在那里使用该号码。

$ screen -X -S 31543 kill
Run Code Online (Sandbox Code Playgroud)

确认它已被杀死:

$ screen -ls
No Sockets found in /var/run/screen/S-saml.
Run Code Online (Sandbox Code Playgroud)