Linux服务器SSH客户端断开后保持程序继续运行的方法

news2024/11/28 4:42:55

目录

1. nohup 命令:

2. tmux 或 screen:

3 final shell 断开后服务器如何继续执行令?

方法一:使用 nohup 命令

方法二:将命令放在后台执行

4 你可以使用 jobs 命令查看当前终端中正在后台运行的任务

(1) 查看后台作业:

(2)将作业移动到前台:

(3) 将作业放到后台:

(4)终止后台作业

5 如果你使用了 nohup 或者在终端关闭后重新连接到服务器,如何管理后台任务?

(1)ps 命令:

(2)pgrep 命令:

(3)pkill 命令:

(4)tmux 或 screen:


如果你使用SSH连接到Linux服务器,并且希望在断开SSH连接后继续运行程序,例如深度学习训练模型需要长时间周期进行,在这期间如果退出服务器客户端或者网页连接,服务器Linux系统会自动关闭所有进程,程序也会随之终止运行(被挂起),你可以使用以下几种方法保证在客户端ssh断开连接后,服务器执行的命令不中断:

1. nohup 命令:

使用nohup命令可以在后台运行程序,而且在SSH连接断开后仍然保持运行。示例:

nohup your_command &

这会将your_command命令在后台运行,并将输出写入nohup.out文件。你可以使用jobs命令来查看后台任务,或者使用ps aux | grep your_command来查看特定命令的运行情况。

2. tmux 或 screen:

使用tmuxscreen是一种更强大的方法,它允许你创建和管理终端会话,而不受SSH连接断开的影响。你可以在tmuxscreen会话中运行你的程序,然后在需要的时候重新连接到会话。示例:

  • 对于 tmux:

tmux
# 在 tmux 会话中运行你的程序
your_command
# 按下 Ctrl-b,然后按下 d 来断开 tmux 会话

对于 screen:

screen
# 在 screen 会话中运行你的程序
your_command
# 按下 Ctrl-a,然后按下 d 来断开 screen 会话

选择使用nohuptmuxscreen取决于你的偏好和需求。tmuxscreen还提供了许多其他功能,例如在多个窗格中同时运行不同的命令。

3 final shell 断开后服务器如何继续执行令?

        在Linux中,当你在终端中执行一个命令,并且希望在终端关闭后该命令继续执行,你可以使用 nohup 命令,或者将命令放在后台执行。下面是两种常用的方法:

方法一:使用 nohup 命令

nohup your_command > output.log 2>&1 &
  • your_command 是你要执行的命令。
  • output.log 是命令输出的日志文件,可以省略。

此命令将 your_command 在后台执行,并将输出写入 output.log 文件。nohup 命令会忽略挂断(hangup)信号,从而使命令在终端关闭后继续执行。

方法二:将命令放在后台执行

your_command &

在命令末尾加上 & 符号,将命令放在后台执行。这样在终端关闭后,命令仍然在后台继续执行。你可以使用 jobs 命令查看后台任务。

请注意,这两种方法都可以在终端关闭后使命令继续执行,但在某些情况下,你可能还需要考虑输出和错误信息的重定向,以及可能产生的日志。

4 你可以使用 jobs 命令查看当前终端中正在后台运行的任务

这个命令会列出当前终端会话中的作业(jobs)信息,包括作业编号、作业状态以及相关的命令。以下是一些常用的 jobs 命令选项:

(1) 查看后台作业:

jobs

(2)将作业移动到前台:

fg %job_number

使用这个命令,你可以将指定编号的作业移动到前台运行。

(3) 将作业放到后台:

bg %job_number

这个命令可以将指定编号的作业从前台移到后台运行。

(4)终止后台作业

kill %job_number

使用这个命令可以终止指定编号的后台作业。

在上述命令中,%job_number 是作业的编号,可以使用 jobs 命令查看。

请注意,这些命令在当前终端会话中有效。如果你使用了 nohup 或者在终端关闭后重新连接到服务器,你可能需要使用其他方式来管理后台任务,比如使用 ps 或者其他作业控制工具。

5 如果你使用了 nohup 或者在终端关闭后重新连接到服务器,如何管理后台任务?

        如果你在终端关闭后重新连接到服务器,可能需要使用其他工具来管理后台任务,因为 jobs 命令只能查看当前终端会话中的作业。以下是一些其他用于管理后台任务的工具和命令:

(1)ps 命令:

使用 ps 命令可以列出当前正在运行的进程。你可以使用以下命令来查找特定的进程:

ps aux | grep your_command

这会列出包含 your_command 的所有进程。通过查看进程的PID(进程ID),你可以确定后台任务的运行情况。

(2)pgrep 命令:

pgrep 命令可以通过进程名来查找进程的PID。例如

pgrep your_command

这将返回包含 your_command 的所有进程的PID。

(3)pkill 命令:

使用 pkill 命令可以通过进程名终止进程。例如:

pkill your_command

这将终止所有包含 your_command 的进程。

(4)tmux 或 screen:

如果你在使用 tmuxscreen,你可以使用相应的命令来查看和管理后台会话。例如,在 tmux 中,你可以使用以下命令:

tmux list-sessions

 这会列出所有 tmux 会话,你可以重新连接到其中一个会话以查看和管理后台任务。

这些命令和工具可以帮助你在终端关闭后重新连接到服务器时查看和管理之前在后台运行的任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1254443.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞翔的鸟小游戏

第一步是创建项目 项目名自拟 第二步创建个包名 来规范class 再创建一个包 来存储照片 如下: package game; import java.awt.*; import javax.swing.*; import javax.imageio.ImageIO;public class Bird {Image image;int x,y;int width,height;int size;doub…

Qt4用子类化ProxyModel和子类化MainWindow实现全表筛选,中文排序和复制粘贴

目录 1 需求 2 子类化ProxyModel实现全表筛选 3 字符串列表实现中文排序 3.1 Qt5中文排序 3.2 Qt4排序 4 表格的复制粘贴 5 应用 1 需求 模型视图编程是Qt开发的基本功,其中有几个关键问题需要解决: 全表筛选,或者说多列搜索中文排序…

【精选必看】MyBatis映射文件及动态SQL,一级,二级缓存介绍

文章目录 MyBatis映射文件 < r e s u l t M a p > <resultMap> <resultMap>resultMap < sql>&< include>特殊字符处理 动态SQL < i f > < if> <if> < w h e r e > <where> <where> < s e t > <…

叠加原理(superposition principle)、线性系统

叠加原理&#xff08;superposition principle&#xff09;&#xff1a;指对一个系统而言&#xff0c;两个或多个输入产生的输出&#xff0c;等于这几个输入单独引起的输出的和&#xff0c;即输入的叠加等于各输入单独引起的输出的叠加。 线性系统&#xff1a;一个系统&#x…

SAP Smartform小结

SAP系统做打印单据用的, 感觉很不好用, 特别是要嵌入韩文时必须使用嵌入的word编辑器,运行速度简直不可忍受. 见过一些Adobe interactive form的示例, 看着相当不错, 不过据说需要花money额外买licence, 哪有smartform这种免费东西来得实惠. 一般打印需求,会要求有标题抬头,打…

【开源】基于Vue+SpringBoot的农家乐订餐系统

项目编号&#xff1a; S 043 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S043&#xff0c;文末获取源码。} 项目编号&#xff1a;S043&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核…

CSDN助手:一键下载CSDN博客:高效保存,随时阅读

文章目录 &#x1f4d6; 介绍 &#x1f4d6;&#x1f3e1; 环境 &#x1f3e1;&#x1f4d2; 使用方法 &#x1f4d2;⚓️ 相关链接 ⚓️ &#x1f4d6; 介绍 &#x1f4d6; 这是我自己无聊的时候写的一个应用&#xff0c;以前UI有点丑&#xff0c;这次重写了一下UI 功能如下 …

球面的表面积

此推导需要用到重积分的知识&#xff0c;另外关于曲面的面积公式可以看我之前的博客

过滤器的应用

javaWeb三剑客: 1. Servlet:接收请求,处理请求(单例,也就是说&#xff0c;多个用户请求的的servlet是同一个对象) 2. Filter:拦截请求(单例->也就是说&#xff0c;多个用户请求的的filter是同一个对象) 3. Listem: 监听用户/服务器行为,javaWeb三剑客: 过滤器的实现 1&…

24. 深度学习进阶 - 矩阵运算的维度和激活函数

Hi&#xff0c;你好。我是茶桁。 咱们经过前一轮的学习&#xff0c;已经完成了一个小型的神经网络框架。但是这也只是个开始而已&#xff0c;在之后的课程中&#xff0c;针对深度学习我们需要进阶学习。 我们要学到超参数&#xff0c;优化器&#xff0c;卷积神经网络等等。看…

用xlwings新建一个excel并同时生成多个sheet

新建一个excel并同时生成多个sheet&#xff0c;要实现如下效果&#xff1a; 一般要使用数据透视表来快速实现。 今天记录用xlwings新建一个excel并同时生成多个sheet。 import xlwings as xw # 打开excel,参数visible表示处理过程是否可视,add_book表示是否打开新的Excel程序…

电子学会C/C++编程等级考试2022年12月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数组逆序重放 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。输入 输入为两行:第一行数组中元素的个数n(1输出 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。样例输入 …

摆脱无用代码的负担:TreeShaking 的魔力

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

QGIS安装及简单使用

QGIS&#xff08;Quantum GIS&#xff09;是一个自由、开源的跨平台桌面地理信息系统&#xff08;GIS&#xff09;应用程序&#xff0c;它允许用户创建、编辑、查看、分析和发布地理空间数据和地图。 操作系统&#xff1a;Windows 10 QGIS版本&#xff1a;QGIS Desktop 3.28.…

2023年03月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 计算“2+4+8+……+128”,用变量n表示每项,根据变化规律,变量n的赋值用下列哪个最合适?( ) A: B: C: D: 答案:D

[Linux]进程创建➕进程终止

文章目录 1.再谈fork()函数1.1fork()创建子进程 OS都做了哪些工作?1.2对上述问题的理解1.3写时拷贝进行父子进程分离的优势1.4了解eip寄存器和pc1.5了解进程的上下文数据1.6对计算机组成的理解1.7fork常规用法1.8fork调用失败的原因 2.进程终止2.1进程终止时操作系统要做的工作…

offer 选择难?说说我的 2 个思考

大家好&#xff0c;我是鱼皮。秋招仍在进行中&#xff0c;随着越来越多的公司开奖&#xff0c;最近 编程导航星球 的小伙伴们也陆续发来了 offer 报喜&#xff1a; 图片 图片 但也有一部分小伙伴陷入了 “甜蜜的烦恼”&#xff0c;拿了几个 offer 却不知道怎么选择。 offer 选择…

【深入剖析K8s】容器技术基础(一):从进程开始说起

容器其实是一种特殊的进程而已。 可执行镜像 为了能够让这些代码正常运行’我们往往还要给它提供数据’比如我们这个加法程序所需要的输人文件这些数据加上代码本身的二进制文件放在磁盘上’就是我们平常所说的一个程序,也叫代码的可执行镜像&#xff08;executablejmage&…

路径规划之A*算法

系列文章目录 路径规划之Dijkstra算法 路径规划之Best-First Search算法 路径规划之A*算法 路径规划之A*算法 系列文章目录前言一、前期准备1.1 算法对比1.2 数学式方法1.3 启发式方法 二、A*算法2.1 起源2.2 思想2.3 启发式函数2.4 过程2.5 案例查看 前言 之前提过Dijkstra算…

2018年2月16日 Go生态洞察:Go 1.10版本发布分析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…