青南的小世界

给时光以生命。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

title: 断电不断网——Linux的screen
author:青南
date: 2015-01-01 20:20:23
categories: [Linux]
tags: [linux,screen,session]

使用AWS亚马逊云搭建Gmail转发服务(二)中,我们最后运行了邮件转发程序。本以为程序就可以正常工作了,于是我关闭了Putty窗口。几个小时后回来,发现程序早就终止运行了。

原来,在一般情况下,当一个session结束时,这个session里面运行的进程也会同时结束。这可不能达到我们要的效果。于是screen命令登场了。

使用screen命令,可以让程序在断开session的时候继续运行。要打开screen,只需要在终端输入screen这个命令即可。请看下面演示:

cd wwwproject/ghelper
screen
python gmail_helper.py

这样就在一个screen里面运行了邮件转发程序。那么如何退出呢?

键盘上Ctrl+A+D三个键一起按。这样就返回到了进入screen之前的终端界面。而邮件转发程序仍然在后台默默的运行。现在可以关闭putty,然后放心的去睡觉了。

那重新SSH登录服务器以后,想关闭这个邮件转发程序怎么办?

两个方法:

方法一,直接结束Python进程。

方法二,在终端窗口输入:

screen -ls

终端窗口返回:

ubuntu@ip-172-31-15-35:~$ screen -ls
There is a screen on:
        7956.pts-0.ip-172-31-15-35      (01/01/2015 12:16:10 PM)        (Detached)
1 Socket in /var/run/screen/S-ubuntu.

注意这里的7956就是pid,于是输入:

screen -r 7956

就能回到Python的运行窗口了。于是,Ctrl+C结束程序运行。

有了screen命令,再也不怕关闭session后程序结束运行了。

posted on 2015-01-01 20:43  青南  阅读(1744)  评论(3编辑  收藏  举报