断电不断网——Linux的screen

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后程序结束运行了。



独立技术博客请戳->http://kingname.info

时间: 2024-10-23 14:18:42

断电不断网——Linux的screen的相关文章

花生壳+端口映射实现远程ssh访问内网linux主机

一.花生壳安装(安装前需要在花生壳网站注册获得一个免费域名,有了这个域名,后边才能在外网通过访问这个域名来实现ssh登陆内网linux主机) [[email protected] 桌面]# wget http://download.oray.com/peanuthull/linux/phddns-2.0.6.el6.x86_64.rpm --2014-10-27 20:11:30--  http://download.oray.com/peanuthull/linux/phddns-2.0.6.

nat123外网SSH访问内网LINUX的N种方法

一,动态公网IP环境 1,环境描述: 路由器分配的是动态公网IP,且有路由管理权限,LINUX主机部署在路由内网.如何实现外网SSH访问内网LINUX主机? 2,解决方案: 使用nat123动态域名解析,解决动态公网IP问题. 3,实现过程: 方法一:在同局域网下另一台windows主机中使用动态解析windows版. 动态域名解析windows版,实现步骤参考<外网访问内网LINUX-动态公网IP动态域名解析-windows版> 方法二:在被访问端Linux主机中使用动态域名解析Linux版

Linux下screen的使用

Linux下经常使用putty或者secureCRT等通过ssh远程登录服务器,但如果在执行程序的过程中关闭远程终端窗口,则原先运行的 程序会被立即杀死.这对于一些花费时间较长的程序非常不利,本文将介绍如何使用screen命令解决这个问题,以及screen提供的其他功能. screen简介 使用ssh远程登录服务器时,如果在运行程序的过程中不小心关闭了远程终端窗口,或者出现网络断开或者电脑死机的情况,主机与服务器的连接会话 立即丢失,刚刚运行的程序或进行的工作也同时丢失,这不得不说是一件非常令人

Linux之screen命令详解

一.nohup 工作中经常会遇到这样的需求,通过SecureCRT或其它工具远程到服务器执行某个任务,而这个任务耗时又比较长,你又不得不等待它执行完毕,但是如果此间如果关掉窗口或断开连接又会导致任务被kill掉.之所以会出现这种状况,是在窗口关闭或网络断开时,系统会发送SIGHUP信号给会话控制进程,该进程会转发SIGHUP信号给前台运行进程,该信号的默认动作是终止程序,从而导致任务被kill掉,罪魁祸首就是SIGHUP信号.        如果能够忽略SIGHUP信号,则该问题就迎刃而解了,L

内网Linux对公网开启SSH

1.首先你得装个Linux,过程就不说了.Linux可以装在Vmware上,但是网络适配器选项选的是桥接模式 2.在linux上安装SSH服务,如果有就自动忽略 3.在路由器上开启端口映射. 这里我用的是TPLink , 在转发规则->虚拟服务器里->将Linux的ip加进去,端口就设置为22 4.找到自己的外网IP , 有一个比较快捷的办法 , 在百度上直接搜IP就能查到自己的外网IP了. 然后通过自己的外网IP连接SSH.例如用putty连接111.111.xxx.xxx , 端口22.

linux command screen

喜欢这句话 “我们永远相信,分享是一种美德 | We Believe, Great People Share Knowledge...” 但是这种美德不是为什么都要问的人准备的 ———————————————————————————————————————————————— source rul http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html 一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服

linux 命令——screen

最近遇到一个东西aria2,这个玩意,这个是啥呢?Aria2是一个轻量级Linux下载软件,支持HTTP/HTTPS, FTP, SFTP, BitTorrent和磁力链接(官方版),公司系统插件配套安装的东西,必须的装,具体干嘛的,不知道,反正可以离线下载,好了,安装完Aria2,需要开启啊,但是啊,我擦,我在终端开启了,把终端一关,它也关了,,,, 于是我们就用到了screen这个命令 Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程

Linux 下面screen命令的用法

最近在使用阿里云的Linux 云服务做毕业设计遇到一些问题,我把java的jar运行程序上传之后,使用java -jar server命令之后程序开始正常运行,但是当我关闭终端的时候程序也随着关闭了,这怎么可以,随后我就百度了一番.发现有一个叫做screen的东西,下面把关于这些内容简单做了个小节,记下来,后面用的到 打开一个screen对话 screen 'name' 浏览当前的screen对话 screen -ls 关闭screen对话 screen -X -S name quit 恢复上次

linux 之 screen

Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换.GNU Screen可以看作是窗口管理器的命令行界面版本.它提供了统一的管理多个会话的界面和相应的功能. 会话恢复 只要Screen本身没有终止,在其内部运行的会话都可以恢复.这一点对于远程登录的用户特别有用--即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制.只要再次登录到主机上执行screen -r就可以恢复会话的运行.同样在暂时离开的时候,也