在 GNU Screen 中,如何知道您有多少个“多显示模式”连接?

在 GNU Screen 中,如何知道您有多少个“多显示模式”连接?

screen -ls似乎没有表明我使用了多少个连接screen -x(多显示模式)。

例子:

screen     # create first screen
screen -ls
screen -x  # attach to first screen from a different location
screen -ls 

两个screen -ls命令显示完全相同的信息。没有迹象表明同一屏幕上现在有 2 个附件。有没有办法展示这一点?

答案1

screen -ls不会列出它,但您可以通过查看为主进程创建的 pts 设备来找出附加屏幕的数量。

screen -ls下面的脚本将在附加屏幕数量的末尾添加一个数字:

#!/bin/bash

screen -ls | while read scr
do
    if [[ "$scr" =~ ^[0-9]+\. ]]; then
        pid=${scr%%.*}
        cnt=$(ls -l /proc/$pid/fd/ | grep pts | wc -l)
        echo "$scr [$cnt]"
    else
        echo "$scr"
    fi
done

相关内容