Linux 使用 screen 命令

使用 Linux 的 screen 命令

在 SSH 远程主机上执行需要漫长等待的任务时, 如果网络突然终止了, 那么SSH 会话会结束, 任务也会被中断, 而 screen 命令可以解决这个问题

简介

screen 可以新建 screen 会话, 在这个会话中可以打开终端, 即使断开连接, 终端中的任务还会在后台运行

安装 Linux GNU Screen

很多 Linux 发行版会预安装 screen, 可以检查其版本

$ screen -version

输出:

Screen version 4.06.02 (GNU) 23-Oct-17

基于 Ubuntu and Debian

$ sudo apt install screen

基于 CentOS and Fedora

$ sudo yum install screen

开始使用 Linux Screen

新建 screen 会话

$ screen

可以指定名称

$ screen -S session_name

这将会打开一个 screen 会话, 一个新的 shell

分离 Screen 会话

新建名为 sleep 的会话

screen -S sleep

在新建的会话中执行命令, 睡眠 5 分钟, 模拟需要长时间等待的任务

sleep 300

组合键 Ctrl+A+D 让命令在后台运行并退出 Screen 会话

输出

[detached from 12728.sleep]

列举 Screen 会话

分离后, 在主会话中使用

screen -ls

输出

There is a screen on:
        12728.sleep     (05/03/2020 05:36:14 PM)        (Detached)
1 Socket in /run/screen/S-jianghuixin.

回到 Screen 会话

使用名称

screen -r sleep

使用进程号

screen -r 12728

结束 Screen 会话

回到 Screen 会话后, Ctrl+C 中断正在运行的任务, 然后 exit 或 Ctrl+D

输出

[screen is terminating]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章