---
author: ''
category: 技术
comments_data:
- date: '2014-08-14 00:03:03'
  message: screenrc
  postip: 39.181.111.212
  username: 微博评论
- date: '2014-08-14 01:33:01'
  message: 你需要一个陀螺？
  postip: 113.87.175.154
  username: 微博评论
- date: '2014-08-15 17:48:43'
  message: 谢谢分享.经验啊.
  postip: 171.8.135.11
  username: netb2c
- date: '2014-08-15 23:20:21'
  message: Linux软件不能一键卸载，软件安装麻烦，是因为i和Windows内核不同导致的吗？
  postip: 122.83.136.60
  username: startstorm
- date: '2014-08-16 14:58:11'
  message: 能直接安装卸载的啊，基本上每个发行版都可以
  postip: 211.142.77.71
  username: linux
count:
  commentnum: 5
  favtimes: 2
  likes: 0
  sharetimes: 3
  viewnum: 7702
date: '2014-08-13 22:57:22'
editorchoice: false
excerpt: 问题：我经常使用screen命令来运行多个伪终端会话。好多次，我发现都记不得自己是否在一个screen会话中，还是在一个常规终端中。是否有一种简便的方法来检查我是否在一个运行着的screen会话中？  一个快捷而又简单的方法来检查你是否处于一个screen伪终端中，还是在一个常规终端中，就是检查STY环境变量。当调用了screen，就会把STY变量值设置为会话名。因此，如果STY环境变量被设置为任何非空字符串，就意味着你正处于一个screen会话中。  $
  echo $STY   2858.pts-3.my_host  然而，请注意，上面的方法只有当你是在本地计算机上运行scree
fromurl: http://ask.xmodulo.com/check-running-screen-session.html
id: 3608
islctt: true
largepic: /images/p/201408/13/225135mplslkllbtko1699.jpg
permalink: /article-3608-1.html
pic: /images/p/201408/13/225135mplslkllbtko1699.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 问题：我经常使用screen命令来运行多个伪终端会话。好多次，我发现都记不得自己是否在一个screen会话中，还是在一个常规终端中。是否有一种简便的方法来检查我是否在一个运行着的screen会话中？  一个快捷而又简单的方法来检查你是否处于一个screen伪终端中，还是在一个常规终端中，就是检查STY环境变量。当调用了screen，就会把STY变量值设置为会话名。因此，如果STY环境变量被设置为任何非空字符串，就意味着你正处于一个screen会话中。  $
  echo $STY   2858.pts-3.my_host  然而，请注意，上面的方法只有当你是在本地计算机上运行scree
tags:
- Linux
- screen
- 会话
- Linux有问必答
thumb: false
title: Linux有问必答：如何检查我是否处于一个运行着的screen会话中
titlepic: false
translator: GOLinux
updated: '2014-08-13 22:57:22'
---


> 
> **问题**：我经常使用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会话中，终端会在底部显示时间信息。


![](/images/p/201408/13/225135mplslkllbtko1699.jpg)




---


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


译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出