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 
    

      

     
  • 相关阅读:
    Golang 连接Kafka
    Go tail库
    Kubernetes busybox nslookup问题
    数据结构与算法之美 06 | 链表(上)-如何实现LRU缓存淘汰算法
    python 中model.py详解
    解决 python No migrations to apply 无法生成表
    django的使用INNODE的方式,排除错误MySQL Strict Mode is not set for database connection 'default'
    IndentationError: unindent does not match any outer indentation level
    Mac中 pip3 install mysqlclient 报错
    mac下如何搭建python开发环境
  • 原文地址:https://www.cnblogs.com/BigPig-Winnie/p/13219201.html
Copyright © 2011-2022 走看看