详解Linux Screen让程序保持后台运行 ? 您是否曾经遇到过在远程计算机上执行长时间运行的任务,突然连接中断,SSH会话终止以及工作丢失的情况。...换句话说,这意味着您可以启动屏幕会话,然后在该会话中打开任意数量的窗口(虚拟终端)。 当您的屏幕窗口不可见时,即使您已断开连接,在Screen中运行的进程也将继续运行。...开始使用Linux Screen 当您开始一个新的screen会话时,它将创建一个带有shell的单个窗口。 在screen会话中你可以有多个窗口。...要创建一个使用shell类型的新窗口可以使用,它将从0 ... 9范围开始的第一个可用数字分配给它: Ctrl + a c 以下是用于管理Linux Screen Windows的一些最常用命令: Ctrl...现在,您可以开始使用屏幕实用程序,并通过单个会话创建多个屏幕窗口,在窗口之间导航,分离和恢复屏幕会话,并使用.screenrc文件个性化您的屏幕终端
reboot -w // 做个重开机的模拟(只有纪录并不会真的重开机)。 rlogin 从当前终端登录到远程Linux主机 补充说明 rlogin命令用于从当前终端登录到远程Linux主机。...参数 远程主机:指定要连接的远程主机; 指令:指定要在远程主机上执行的命令。 screen 用于命令行终端切换 补充说明 Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。...查看窗口和窗口名称 打开多个窗口后,可以使用快捷键C-a w列出当前所有窗口。如果使用文本终端,这个列表会列在屏幕左下角,如果使用X环境下的终端模拟器,这个列表会列在标题栏里。...如果一个Screen会话中最后一个窗口被关闭了,那么整个Screen会话也就退出了,screen进程会被终止。...分屏以后,可以使用C-a在各个区块间切换,每一区块上都可以创建窗口并在其中运行进程。 可以用C-a X快捷键关闭当前焦点所在的屏幕区块,也可以用C-a Q关闭除当前区块之外其他的所有区块。
而ps命令适用于查看瞬时进程的动态,可以看到别的终端的任务 jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped,...关闭中断后,在另一个终端jobs已无法看到后台跑得程序了,此时利用ps(进程查看命令) ps -aux | grep "test.sh" #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序...根据POSIX.1定义: 挂断信号(SIGHUP)默认的动作是终止程序。 当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。...如果会话期首进程终止,则该信号发送到该会话期前台进程组。 一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。...导致一旦ssh关闭,执行中的任务就取消了 示例: 打开两个SSH终端窗口,在其中一个运行top命令。
参考文档:https://wangchujiang.com/linux-command/c/screen.html 关于screen Screen 是一款由GNU计划开发的用于命令行终端切换的自由软件。...1.会话恢复 只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。...窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。...查看会话列表 $ screen -ls # 清理已终止的会话 $ screen -wipe # 退出并关闭会话 $ exit 常用的快捷键操作(ctrl+a) : C-a ?...分屏以后,可以使用C-a 在各个区块间切换,每一区块上都可以创建窗口并在其中运行进程。 可以用C-a X快捷键关闭当前焦点所在的屏幕区块,也可以用C-a Q关闭除当前区块之外其他的所有区块。
本文Linux 服务器上经常需要后台运行,当需要在终端中启动后台运行又随时可以进入管理的应用时可以使用 screen 命令。...Screen命令用于解决这个问题,可以在后台稳定运行终端程序并可以随时进入进行管理。 简介 GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。...查看窗口和窗口名称 打开多个窗口后,可以使用快捷键C-a w列出当前所有窗口。如果使用文本终端,这个列表会列在屏幕左下角,如果使用X环境下的终端模拟器,这个列表会列在标题栏里。...如果一个Screen会话中最后一个窗口被关闭了,那么整个Screen会话也就退出了,screen进程会被终止。...可以用C-a X快捷键关闭当前焦点所在的屏幕区块,也可以用C-a Q关闭除当前区块之外其他的所有区块。关闭的区块中的窗口并不会关闭,还可以通过窗口切换找到它。
使用jobs命令显示当前 shell 会话中所有停止的和后台的任务状态。...nohup命令后面跟着另外一个程序作为参数,将会忽略所有的SIGHUP(挂起)信号。SIGHUP信号用来发送给进程,用来通知终端已经关闭了。...nohup: ignoring input and appending output to 'nohup.out' 如果你登出或者关闭终端,进程不会被终止。...Screen Screen 或者 GNU Screen 是一个终端多路复用程序,它允许你打开一个屏幕会话,并且在会话中打开任意多数量的窗口(虚拟终端)。...通过 Tmux,你可以创建一个会话,然后再会话中打开多个窗口。Tmux 会话是持久性的,这意味着即便你关闭了终端,这些 Tmux 上运行的程序依然会运行。
问题的引入程序员最不能容忍的是在使用终端的时候往往因为网络,关闭屏幕,执行 CT 今天就给大家介绍 linux 中几种后台任务的执行方法避免上述问题。 1....2 & 符号 这是一种把 & 放在执行命令最后,使启动的程序忽略 sigint 信号, 此时执行 ctrl+c 关闭就不会关闭此进程,但是当屏幕关闭,断网仍然会造成进程退出。...不说人话的版本:GNU Screen 是一款由 GNU 计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。...GNU Screen 可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。...说人话的版本: 我们可以粗略地认为 screen 是一个虚拟终端软件,直接在 linux 系统里面启动了另外一个后台程序接管(维持)了你的终端会话,当你直接连接的终端 ssh 断开时他仍然让程序认为你的
支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。...对于本教程的其余部分,前缀将用于指代默认的CTRL + b或您在配置文件中选择的组合。 管理tmux Windows 当tmux会话启动时,默认情况下会创建一个窗口。...w 从交互列表中选择一个窗口 出口 关闭一个窗口 Prefix + & 在无响应的窗口中强制终止所有进程 默认情况下,tmux根据生成它的进程命名每个窗口(最常见的是bash)。...再次按相同的组合可退出缩放模式 出口 关闭活动窗格 Prefix + x 强制在窗格中终止无响应的进程 管理tmux会话 有时甚至多个窗口和窗格都是不够的,您需要通过将布局分组到单独的会话中来逻辑地分离布局...再次按相同的组合可退出缩放模式 tmux kill-server 销毁所有会话并终止所有进程 创建tmux配置文件 当你对tmux感到满意时,你可能想要改变一些默认值。
类似 GNU Screen,Tmux 是一个帮助我们在单一终端窗口中创建多个会话,同一时间内同时运行多个应用程序或进程的终端复用工具。...Tmux 命令示例: 多会话管理 Tmux 默认所有命令的前置命令都是 Ctrl+b,使用前牢记这个快捷键即可。 注意:Screen 的前置命令都是 Ctrl+a....点击 y 来关闭会话。 可以通过 tmux ls 命令验证。 关闭所有 Tmux 服务下的所有会话,运行: tmux kill-server 谨慎!...这将终止所有 Tmux 会话,并不会产生任何警告,即便会话存在运行中的任务。...每个窗格中可以同时运行不同的程序,并同时与所有的窗格进行交互。每个窗格可以在不影响其他窗格的前提下可以调整大小、移动位置和控制关闭。我们可以以水平、垂直或者二者混合的方式切割屏幕。
二、简介 **GNU Screen**是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。...GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。 会话恢复 只要Screen本身没有终止,在其内部运行的会话都可以恢复。...5.3 查看窗口和窗口名称 打开多个窗口后,可以使用快捷键C-a w列出当前所有窗口。如果使用文本终端,这个列表会列在屏幕左下角,如果使用X环境下的终端模拟器,这个列表会列在标题栏里。...使用screen -wipe命令清除该会话: 5.6 关闭或杀死窗口 正常情况下,当你退出一个窗口中最后一个程序(通常是bash)后,这个窗口就关闭了。...如果一个Screen会话中最后一个窗口被关闭了,那么整个Screen会话也就退出了,screen进程会被终止。
二、简介 GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。...GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。 会话恢复 只要Screen本身没有终止,在其内部运行的会话都可以恢复。...5.3 查看窗口和窗口名称 打开多个窗口后,可以使用快捷键C-a w列出当前所有窗口。如果使用文本终端,这个列表会列在屏幕左下角,如果使用X环境下的终端模拟器,这个列表会列在标题栏里。...使用screen -wipe命令清除该会话: 5.6 关闭或杀死窗口 正常情况下,当你退出一个窗口中最后一个程序(通常是bash)后,这个窗口就关闭了。...如果一个Screen会话中最后一个窗口被关闭了,那么整个Screen会话也就退出了,screen进程会被终止。
当终端接口检测到网络连接断开时,会给给控制进程(会话期首进程)发送一个挂断信号(终止程序的信号) 如果会话期首进程终止,则该信号发送到该会话期前台进程组,从而导致进程的停止 因此当网络断开或终端窗口关闭后...只要再次登录到主机上执行screen -r pid/名称就可以恢复会话的运行 它是什么? GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。...它提供了统一的管理多个会话的界面和相应的功能 在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。...会话共享:Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。...screen提供了一个很好的会话共享的方案,可以实现就像操作同一屏幕一样的效果。
通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连 接,否则这个任务就会被杀掉,一切半途而废了。...作用: 会话恢复 只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。...这一点和图形界面下的VNC很相似。 多窗口 在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。...窗口还 可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。...,下次可以用 screen -r 命令恢复 c 开新窗口 0-9数字 在窗口0-窗口9之间迅速切换 n 下一个窗口 p 上一个窗口 S 分割屏幕 TAB 在分割的屏幕之间切换 X 关闭分割出的屏幕 [
tmux是一个开源工具,用于在一个终端窗口中运行多个终端会话。它可以减少过多的打开终端控制台。...1.1 会话与进程 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session)。...会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。...一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。...为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。
1.简介 screen是GNU计划开发的用于终端命令行的管理工具,可以新建和管理多个终端命令行会话,并提供切换,分离,挂接等相应的功能。...screen其实就是Linux虚拟终端,可以用它创建多个虚拟终端,每个终端可以创建1~10个窗口,每个窗口相当于一个Linux Shell会话窗口,可执行的操作和正常Shell完全一样。...其重要的特点就是终端断开连接后,screen新建的命令行会话中的程序和任务是保存在后台运行的,不会因为终端窗口关闭或者断开连接而终止执行。 详细说明参见GNU Screen官方站点。...exit:关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该screen会话自动终止,并且退回到原始shell状态)。...---- 参考文献 [1]Linux命令大全.screen命令 [2]系统load average
解释 当终端接口检测到网络连接断开, 将挂断信号发送给控制进程(会话期首进程). 如果会话期首进程终止,则该信号发送到该会话期前台进程组....结论 因此当网络断开或终端窗口关闭后, 也就是SSH断开以后, 控制进程收到 SIGHUP 信号退出, 会导致该会话期内其他进程退出....只要是ssh 打开执行的一般命令,不是守护程序,无论加不加&,一旦关闭ssh,系统就会用SIGHUP终止....使用 nohup 命令 Linux nohup 命令 nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。...: 以用户为主的格式来显示 x : 显示所有程序,不区分终端机 另外也可以使用 ps -def | grep "runoob.sh" 命令来查找。
0x01 系统会话终端管理 描述: 在 Linux 运维中通常会打开一个终端窗口(Terminal Windows),并在其命令行中输入执行已安装的命令,用户与计算机的这种临时交互,我们称为一次“会话(...会话的一个重要特点是窗口与其中启动的进程是连在一起的。打开窗口会话开始;关闭窗口会话结束,会话内部的进程也会随之终止,不管有没有运行完成。...办法当前是有的,为了解决此问题,我们需要将会话与窗口进行解绑,使窗口关闭时会话并不终止,二是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口,而终端复用器软件(例如,Screen、Tmux (推荐...screen - Linux系统下的终端多重会话工具 描述: Screen是一个在Linux系统下的终端多重会话工具,可以让用户在一个终端窗口中同时运行多个终端会话。...# 退出并关闭会话 exit weiyigeek.top-screen使用示例演示图 通过Screen,用户可以方便地管理多个终端会话,即使网络连接中断或终端窗口关闭,也可以随时恢复会话而无需重新启动命令
一、tmux简介 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令。用户与计算机的这种临时的交互,称为一次"会话"(session) 。...会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。...一个典型的例子就是,Xshell登录远程计算机,打开一个远程窗口执行命令。若是网络中断或者上时间挂起,SSH 会话已经终止了,里面的进程也随之消失了。...为了解决这个问题,会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。 tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。...一般该命令需要重现打开一个终端进行输入。 3.3 查看所有会话 在分离会话之后一段时间之后想与会话重新接入,查看相关状态。
经常远程维护Linux的道友都知道,网络中断是一件很可怕且让人愤怒而又无奈的事件。往往网络异常稍微晚那么几分钟,那就可以准时或者按计划下个班。...奈何断网后一切都得重来,还经常伴随一些不可知的新问题出现。 什么是Screen screen 是一款由 GNU 开发的命令行终端工具,它提供了从多个终端窗口连接到同一个 shell 会话(会话共享)。...当网络中断,或终端窗口意外关闭是,中 screen 中运行的程序任然可以运行(系统自带的终端窗口,当窗口意外关闭时,在该终端窗口中运行的程序也会终止。)。...登录后需要加入 aa ## 两边共享一个 screen 会话,不管谁运行什么命令,另一个都可以看到 screen -ls ## 查看会话是否存在 screen -x aa 重新进入会话 ## 这样你离开之前所有操作都会继续...,包括安装部署过程,所有命令过程都会保留或者按步骤更新到最新 screen -r aa 删除 screen 会话 ## 常规法 screen -S aa -X quit ## 暴力方法 kill pid
使用nohup命令 nohup命令可以将程序置于后台运行,并在用户退出后继续运行。它会忽略所有的SIGHUP信号,从而防止程序因用户注销而终止。 sh nohup ..../my_script.sh & 使用tmux或screen工具 tmux和screen是两个流行的终端复用工具,它们可以创建一个持久的会话,在会话中运行的程序不会因为用户退出而终止。.../my_script.sh 重新连接到screen会话: sh screen -r my_session 使用at命令 at命令可以用于调度任务,在指定时间运行命令,这样可以确保任务在后台运行并且不依赖当前会话...它的主要优点包括: 会话管理:tmux 可以创建、分离和重新连接会话,使得程序可以在不同的会话中独立运行而不会因为终端关闭而中断。...窗口分割:tmux 允许在一个终端窗口中分割成多个窗格,每个窗格都可以运行独立的终端会话,这对于并行处理任务非常有用。 脚本友好:tmux 提供丰富的命令行选项,可以方便地在脚本中使用。
领取专属 10元无门槛券
手把手带您无忧上云