Welcome 微信登录

首页 / 操作系统 / Linux / Linux如何检查我是否处于一个运行着的screen会话中

问题:我经常使用screen命令来运行多个伪终端会话。好多次,我发现都记不得自己是否在一个screen会话中,还是在一个常规终端中。是否有一种简便的方法来检查我是否在一个运行着的screen会话中?Linux Screen超简明教程 http://www.linuxidc.com/Linux/2014-04/100040.htmLinux下Screen的常用命令 http://www.linuxidc.com/Linux/2012-07/65358.htmZabbix通过邮件发送Screen图形报表实现 http://www.linuxidc.com/Linux/2013-06/85759.htmLinux虚拟终端命令Screen用法详解 http://www.linuxidc.com/Linux/2013-07/87415.htmLinux 技巧:使用 Screen 管理你的远程会话 http://www.linuxidc.com/Linux/2013-10/91612.htmscreen 关于多窗口操作可以参见:《 Linux 技巧:使用 Screen 管理你的远程会话 》一个快捷而又简单的方法来检查你是否处于一个screen伪终端中,还是在一个常规终端中,就是检查STY环境变量。当调用了screen,就会把STY变量值设置为会话名。因此,如果STY环境变量被设置为任何非空字符串,就意味着你正处于一个screen会话中。
  1. $ 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中国 荣誉推出本文永久更新链接地址