Linux有问必答:如何检查我是否处于一个运行着的screen会话中

cc2f35e89680596666dd38b66452537f 的头像

·

·

·

7,796 次阅读

问题:我经常使用screen命令来运行多个伪终端会话。好多次,我发现都记不得自己是否在一个screen会话中,还是在一个常规终端中。是否有一种简便的方法来检查我是否在一个运行着的screen会话中?

一个快捷而又简单的方法来检查你是否处于一个screen伪终端中,还是在一个常规终端中,就是检查STY环境变量。当调用了screen,就会把STY变量值设置为会话名。因此,如果STY环境变量被设置为任何非空字符串,就意味着你正处于一个screen会话中。

 $ echo $STY 

2858.pts-3.my_host

然而,请注意,上面的方法只有当你是在本地计算机上运行screen命令的时候。如果你从本地计算机的screen会话中SSH到任何远程计算机上,远程计算机上的STY变量不会被设置,尽管在技术上看,你仍然处于一个screen会话中。

事实上,一个更为可靠的检查你是否处于一个screen会话中的方法,是按“Ctrl-a”+“Ctrl-t”。如果你处于screen会话中,终端会在底部显示时间信息。


via: http://ask.xmodulo.com/check-running-screen-session.html

译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

5 条回复

  1. 微博评论 的头像
    微博评论

    screenrc

    来自杭州
  2. 微博评论 的头像
    微博评论

    你需要一个陀螺?

    来自深圳
  3. netb2c 的头像
    netb2c

    谢谢分享.经验啊.

    来自郑州
  4. startstorm 的头像
    startstorm

    Linux软件不能一键卸载,软件安装麻烦,是因为i和Windows内核不同导致的吗?

    来自宿州
  5. linux 的头像
    linux

    能直接安装卸载的啊,基本上每个发行版都可以

    来自忻州

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注