zoukankan      html  css  js  c++  java
  • Linux下screen的应用

    在linux系统下,通常我们在执行一些运行时间比较长的任务时,放到后台执行或者使用screen和nohup都是不错的选择,因为任务执行的时间太长了,必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,如果断开连接会导致任务中断,任务的重新开始。

    使用nohup

    通常nohup的格式如下

    nohup wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.4.tgz &

    或者

    nohup bash get_cpu_mem_info.sh &

    第一条命令在下载比较大的文件的时候,防止ssh连接中断,放置到后台执行。

    第二条命令是一个检测脚本,放置到后台执行,使之能随时检测主机的cpu等情况。

    但是nohup无法完成一些带有交互的情况,比如说我们需要ftp后台传输文件到主机,那nohup就无能为力了。

    使用screen

    默认系统screen命令是没有安装的

    centos系列可以使用命令yum install screen

    ubuntu系列可以使用命令sudo apt-get install screen

    使用方式简单介绍如下

    一、创建screen窗口

    screen -S name

    name可以设置为ssh、ftp,主要目的标注明白这个screen窗口是用来做什么的

    [root@iZ285ma471jZ-s3 ~]# screen -S ftp

    二、列出screen进程,并进入刚刚创建的进程

    [root@iZ285ma471jZ-s3 ~]# screen -ls ##列出screen进程,
    There is a screen on:
    11115.ftp (Attached)
    1 Socket in /var/run/screen/S-root.

    11115为screen_pid,ftp为screen窗口名称

    [root@iZ285ma471jZ-s3 ~]#screen -r -d 11115 ##进入名称为ftp的screen窗口会话

    可以创建ftp连接传输文件

    [root@iZ285ma471jZ-s3 ~]# ftp 115.28.46.185
    Connected to 115.28.46.185 (115.28.46.185).
    220 (vsFTPd 2.2.2)
    Name (115.28.46.185:root): www
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>get mysql-5.5.40-linux2.6-x86_64.tar.gz

    就可以传输文件了

    三、退出保存

    开始传输,OK,在窗口中键入C-a d,即Ctrl键+a键,之后再按下d键

    然后可以退出ssh登陆,也不会影响screen程序的执行

    其实我们可以利用screen这种功能来管理的远程会话,保存当前的工作内容,需要打开一个ssh窗口,创建需要的screen窗口,退出的时候C-a d“保存”的工作,下次ssh登录后直接screen -r -d <screen_pid>就可以了。

  • 相关阅读:
    UPC2018组队训练赛第二场
    杭电多校训练第十场
    socks5 代理
    windows pip 报错Unable to find vcvarsall.bat
    emacs笔记
    homestead oci8
    pyenv install
    chrome 设置sock5代理
    laravel 接收post json
    laravel 使用已有数据库自动创建model
  • 原文地址:https://www.cnblogs.com/junmo/p/4769991.html
Copyright © 2011-2022 走看看