zoukankan      html  css  js  c++  java
  • 用screen 在后台运行程序

    前言

    运维工作中经常,需要SSH远程登录到Linux 服务器,运行一些需要很长时间才能完成的任务,由于很多服务进行了基线调整,经常会出现任务没有执行完成会话就中断,任务就会被杀掉,一切半途而废了,这时,我们可以用screen命令解决这个问题

    介绍

    screen是一个可以在多个进程之间多路利用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。

    安装

    本文以centos7为例

    yum install screen

    参数说明

    -A  将所有的视窗都调整为目前终端机的大小。
    -d <作业名称>  将指定的screen作业离线。
    -h <行数>  指定视窗的缓冲区行数。
    -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
    -r <作业名称>  恢复离线的screen作业。
    -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
    -s  指定建立新视窗时,所要执行的shell。
    -S <作业名称>  指定screen作业的名称。
    -v  显示版本信息。
    -x  恢复之前离线的screen作业。
    -ls或--list  显示目前所有的screen作业。
    -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。
     

    使用方法

    常用

    #新建为name的窗口,并入到该窗口中
    screen -S name 
    #离开会话保留screen会话中的任务或程序
    Ctrl+a d(即按住Ctrl,依次再按a,d)
    #查看有哪些窗口正在运行
    screen -ls
    #进入某个窗口
    screen -r 窗口ID
    #杀死某个窗口(窗口外部)
    kill -9 窗口ID
    #杀死当前窗口(窗口内部)
    Ctrl a +k 
    #自动清除死去的窗口
    screen -wipe 
    

      

     
  • 相关阅读:
    LR11
    安装Nginx+uWSGI+Django环境
    MYSQL 安装更新,使用,管理,备份和安全等
    oracle里要查看一条sql的执行情况,有没有走到索引,怎么看?索引不能提高效率?
    大神:python怎么爬取js的页面
    Sublime 编译出来的是 dos格式,不是unix格式
    前天搞了一天?昨天搞了一天?今天搞了半小时
    搞了一宿,弄完了一个POP3协议
    我竟然。。。傻了近一年
    跨进程信息交互真个费事。
  • 原文地址:https://www.cnblogs.com/BigPig-Winnie/p/13219201.html
Copyright © 2011-2022 走看看