当前位置: 首页 > article >正文

断开ssh连接程序继续运行

在使用 SSH 远程连接服务器时,我们常希望在断开连接后仍然让程序继续运行,以下是几种常见的方法:

1. 使用 screen 或 tmux

screen 和 tmux 是两款非常强大的终端复用工具,它们允许你在后台运行会话,即使断开 SSH 连接,程序也会继续运行。
screen
安装 screen

sudo apt-get install screen  # Ubuntu/Debian
sudo yum install screen      # CentOS
sudo pacman -S screen        # Arch 

例如创建一个名为 mysession 的会话

screen -S mysession

在 screen 会话中启动程序,例如

python myscript.py

断开当前会话:
按下 Ctrl+A,然后按 D 键,这将把会话放到后台。

重新连接到会话:

screen -r mysession

tmux
安装 tmux

sudo apt-get install tmux  # Ubuntu/Debian
sudo yum install tmux      # CentOS
sudo pacman -S tmux        # Arch Linux

启动 tmux 会话

tmux new -s mysession

断开当前会话:
按下 Ctrl +B 然后按 D 键,这将把会话放到后台。

重新连接到会话

tmux attach -t mysession

2.使用 nohup

运行程序

nohup python myscript.py &

这将把程序放到后台运行,并将输出重定向到 nohup.out 文件。

查看输出:

cat nohup.out

3.使用 disown

如果你已经启动了一个程序,但忘记使用 screennohup ,可以使用 disown 命令。
启动程序

python myscript.py

将程序放到后台:
按下 Ctrl +Z,然后运行 bg

bg

使用 disown

disown

这将使程序在后台运行,并且不会被终止。

4.使用 systemdsupervisord

systemd 是 Linux 系统的初始化系统,supervisord 是一个用 Python 编写的进程控制工具
systemd
创建服务文件:
/etc/systemd/system/ 目录下创建一个服务文件,例如 myscript.service

[Unit]
Description=My Script Service[Service]
ExecStart=/usr/bin/python /path/to/myscript.py
Restart=always[Install]
WantedBy=multi-user.target

启动服务

sudo systemctl start myscript

设置开机启动

sudo systemctl enable myscript

supervisord
安装 supervisord:

sudo apt-get install supervisor

配置程序:
/etc/supervisor/conf.d/ 目录下创建一个配置文件,例如 myscript.conf

[program:myscript]
command=/usr/bin/python /path/to/myscript.py
autostart=true
autorestart=true
stdout_logfile=/var/log/myscript.log
stderr_logfile=/var/log/myscript.err

更新配置并启动:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start myscript

总结
• 如果需要简单地让程序在后台运行,推荐使用 screen 或 tmux
• 如果只是临时需要让程序继续运行,可以使用 nohupdisown
• 如果需要更复杂的程序管理,可以使用 systemdsupervisord

相关文章:

断开ssh连接程序继续运行

在使用 SSH 远程连接服务器时,我们常希望在断开连接后仍然让程序继续运行,以下是几种常见的方法: 1. 使用 screen 或 tmux screen 和 tmux 是两款非常强大的终端复用工具,它们允许你在后台运行会话,即使断开 SSH 连接…...

Kafka客户端连接服务端异常 Can‘t resolve address: VM-12-16-centos:9092

前置条件: 已在CentOs上搭建好kafka节点服务器,已启动kafka服务已在Springboot项目中引入kafka客户端配置,kafka.bootstrap-serverip:port,并启动客户端服务 异常过程: 在客户端Springboot服务启动过程,控…...

视频mp4垂直拼接 水平拼接

视频mp4垂直拼接 水平拼接 pinjie_v.py import imageio import numpy as np import os import cv2def pinjie_v(dir1,dir2,out_dir):os.makedirs(out_dir, exist_okTrue)# 获取目录下的所有视频文件video_files_1 [f for f in os.listdir(dir1) if f.endswith(.mp4)]video_fi…...

idea-代码补全快捷键

文章目录 前言idea-代码补全快捷键1. 基本补全2. 类型匹配补全3. 后缀补全4. 代码补全 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,…...

Transformer为什么需要多头注意力(Multi-Head Attention)?如果没有多头会怎么样?

直接回答 关键点: Transformer 中的多头注意力(Multi-Head Attention)允许模型同时关注输入数据的不同方面,提升性能。 如果没有多头,模型可能无法捕捉复杂关系,表现会下降。 什么是多头注意力&#xff…...

我们来学人工智能 -- DeepSeek客户端

DeepSeek客户端 题记使用后记系列文章 题记 我选择了 Cherry Studio是国内产品由CherryHQ团队开源是一个平台在这里,有豆包、kimi、通义千问的入口当然,最主要是作为大模型的UI正如标题,这里,作为DeepSeep的客户端 使用 下载本…...

LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34_中等_C++)(二分查找)(一次二分查找+挨个搜索;两次二分查找)

LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34) 题目描述:输入输出样例:题解:解题思路:思路一(一次二分查找挨个搜索):思路二(两次二…...

洛谷 P1102 A-B 数对(详解)c++

题目链接:P1102 A-B 数对 - 洛谷 1.题目分析 2.算法原理 解法一:暴力 - 两层for循环 因为这道题需要你在数组中找出来两个数,让这两个数的差等于定值C就可以了,一层for循环枚举A第二层for循环枚举B,求一下看是否等于…...

计算机视觉:主流数据集整理

第一章:计算机视觉中图像的基础认知 第二章:计算机视觉:卷积神经网络(CNN)基本概念(一) 第三章:计算机视觉:卷积神经网络(CNN)基本概念(二) 第四章:搭建一个经典的LeNet5神经网络(附代码) 第五章&#xff1…...

2025软件测试面试常问的题(详细解析)

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 测试技术面试题 1、什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案: 兼容测试主要是检查软件在不同的硬件平台、软件平…...

项目POC的作用是什么

在项目管理和开发中,POC(Proof of Concept,概念验证)作为一个关键的步骤,扮演着非常重要的角色。POC的作用主要是验证某个概念、技术或方案的可行性,通过小规模实验或原型验证项目的关键假设,帮…...

初探动态规划--记忆化搜索

记忆化搜索 暴力dfs 记录答案 记忆化搜索是一种优化技术,结合了暴力深度优先搜索 (dfs) 和记录答案的方式。 在动态规划的学习过程中,我们可以将问题划分为以下阶段:dfs暴力搜索,记忆化搜索,以及最终的递推。 动态规…...

java开发——为什么要使用动态代理?

举个例子:假如有一个杀手专杀男的,不杀女的。代码如下: public interface Killer {void kill(String name, String sex);void watch(String name); }public class ManKiller implements Killer {Overridepublic void kill(String name, Stri…...

集合 数据结构 泛型

文章目录 1.Collection集合1.1数组和集合的区别【理解】1.2集合类体系结构【理解】1.3Collection 集合概述和使用【应用】内部类匿名内部类Lambda表达式 1.4Collection集合的遍历【应用】1.5增强for循环【应用】 2.List集合2.1List集合的概述和特点【记忆】2.2List集合的特有方…...

特征提取:如何从不同模态中获取有效信息?

在多模态学习中,特征提取是一个至关重要的过程。它是将原始数据(如文本、图像、视频和语音等)转化为机器能够理解和处理的特征的核心步骤。不同于传统的单一模态任务,在多模态学习中,如何有效地从每种模态中提取出有意…...

vue-treeselect显示unknown的问题及解决

问题 解决办法 去node-modules包里面找到这个组件的源码,在它dist文件里面找到这个文件,然后搜索unknown,把它删掉就可以解决了。...

代码随想录-训练营-day35

309. 买卖股票的最佳时机含冷冻期 - 力扣(LeetCode) 这个题比起我们的买卖股票二来说多了一个冷冻期的说法,也就是我们卖出股票的第二天无法买入股票。 这样对我们而言,dp数组的含义,或者说dp数组中的状态显然就不能是…...

AI汽车新风向:「死磕」AI底盘,引爆线控底盘新增长拐点

2025开年,DeepSeek火爆出圈,包括吉利、东风汽车、上汽、广汽、长城、长安、比亚迪等车企相继官宣接入,掀起了“AI定义汽车”浪潮。 而这股最火的AI汽车热潮,除了深度赋能智能座舱、智能驾驶等AI竞争更白热化的细分场景&#xff0…...

【Blender】二、建模篇--06,曲线建模/父子级和蒙皮修改器

00:00:03,620 --> 00:00:09,500 前几节可能我们已经做了很多种类型的模型了 但是有一种类型 我们一直避开就是这种管道 1 00:00:10,050 --> 00:00:19,370 藤条头发啊 衣服架子啊这种弯弯绕绕的 需要一定柔软度的模型 那么这节课呢我们都来集中看一下曲线的模型 我们应该…...

【服务器与本地互传文件】远端服务器的Linux系统 和 本地Windows系统 互传文件

rz 命令:本地上传到远端 rz 命令:用于从本地主机上传文件到远程服务器 rz 是一个用于在 Linux 系统中通过 串口 或 SSH 上传文件的命令,它实际上是 lrzsz 工具包中的一个命令。rz 命令可以调用一个图形化的上传窗口,方便用户从本…...

被裁20240927 --- WSL-Ubuntu20.04安装cuda、cuDNN、tensorRT

cuda、cuDNN、tensorRT的使用场景 1. CUDA(Compute Unified Device Architecture) 作用: GPU 通用计算:CUDA 是 NVIDIA 的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力,加速通用计算任…...

【架构】微内核架构(Microkernel Architecture)

微内核架构(Microkernel Architecture) 核心思想 微内核架构(又称插件式架构)通过最小化核心系统,将可扩展功能以插件模块形式动态加载,实现高内聚低耦合。其核心设计原则: 核心最小化:仅封装基础通用能力(如插件管理、通信机制、安全校验)功能插件化:所有业务功能…...

公务员行测之类比推理-新手小白

类比推理 前言学习类比推理1 语义关系1.1 近义1.2 反义1.3 象征、比喻 2 逻辑关系2.1 全同2.2 并列(1)矛盾并列(2)反对并列2.3 包容(1)种属(2)组成部分2.4 交叉2.5 对应关系&#xf…...

详解Nginx 配置

一、Nginx 介绍 Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器及电子邮件(IMAP/POP3)代理服务器。它由俄罗斯的程序设计师 Igor Sysoev 所开发,自 2004 年发布以来,凭借其高性能、低内存消耗、高并发处理能力等特点&#xf…...

动静态链接与加载

目录 静态链接 ELF加载与进程地址空间(静态链接) 动态链接与动态库加载 GOT表 静态链接 对于多个.o文件在没有链接之前互相是不知到对方存在的,也就是说这个.o文件中调用函数的的跳转地址都会被设定为0(当然这个函数是在其他.…...

83_CentOS7通过yum无法安装软件问题解决方案

大家好,我是袁庭新。很多小伙伴在CentOS 7中使用yum命令安装软件时,出现无法安装成功的问题,今天给大家分享一套解决方案~ 在CentOS 7中,yum是一个常用的包管理工具,它基于RPM包管理系统。如果你发现yum无法使用,可能是由于多种原因造成的。以下是一些解决步骤,可以帮…...

在PyTorch中使用插值法来优化卷积神经网络(CNN)所需硬件资源

插值法其实就是在已知数据点之间估计未知点的值。通过已知的离散数据点,构造一个连续的曲线函数,预测数据点之间的空缺值是什么并且自动填补上去。 适用场景: 在卷积神经网络(CNN)中的应用场景中,经常遇到计算资源有限,比如显存不够或者处理速度慢,需要用插值来降低计…...

数据包在客户端和服务端,以及网络设备间如何传输的?

声明:文章中图片来自于网络收集,整体流程自己梳理。 目录 问题:如下socket客户端请求数据包如何传输的? 拓扑环境 数据包在分层间传输 网络分层L2/L3/L4 数据包收发-在各分层间变化 各层头部中-核心信息 数据包在不同设备…...

用Python实现Excel数据同步到飞书文档

目录 一、整体目标 二、代码结构拆解 三、核心逻辑讲解(重点) 1. 建立安全连接(获取access_token) 2. 定位文档位置 3. 数据包装与投递 四、异常处理机制 五、函数讲解 get_access_token() 关键概念解释 1. 飞书API访问…...

25林业研究生复试面试问题汇总 林业专业知识问题很全! 林业复试全流程攻略 林业考研复试真题汇总

25 林业考研复试,专业面试咋准备?学姐来支招! 宝子们,一提到林业考研复试面试,是不是就慌得不行,感觉老师会扔出一堆超难的问题?别怕别怕,其实林业考研复试就那么些套路,…...