【服务器】服务器进程运行不受本地终端影响的方法总结

服务器进程运行不受本地终端影响的方法总结

  • 1. 使用 nohup
  • 2. 使用 setsid
  • 3. 将命令放入后台 (&)
  • 总结
  • 参考

为了确保在集群或服务器上运行的长时间作业不受本地计算机网络中断或用户注销的影响,可以使用以下三种方法:nohup、setsid 和将命令放入后台 (&)。
下面是对这三种方法的详细说明:

1. 使用 nohup

nohup(no hang up)命令可以阻止进程接收到 HUP(hangup)信号。这意味着即使用户注销,使用 nohup 启动的进程仍然会继续运行。使用方法如下:

nohup your_command &

示例:如果你想在服务器上运行一个 Python 脚本 script.py,可以这样做:

nohup python script.py &

输出处理:默认情况下,nohup 会将命令的输出写入到 nohup.out 文件中。如果想指定输出文件,可以使用重定向:

nohup python script.py > output.log 2>&1 &
nohup python3 UDI_Beijing.py > UDI_Beijing.log 2>&1 &
nohup python3 UDI_CDMet.py > UDI_CDMet.log 2>&1 &

这里 > output.log 将标准输出重定向到 output.log,而 2>&1 将错误输出也重定向到同一文件。

2. 使用 setsid

setsid 命令用于创建一个新的会话,并将进程的父进程设置为 init 进程,从而使得该进程不再受当前终端的控制。同样,这样的进程也不会接收到 HUP 信号。使用方法如下:

setsid your_command &

示例:运行同样的 Python 脚本,可以这样做:

setsid python script.py &
setsid python3 UDI_CDMet.py &

注意:与 nohup 相似,你可能需要处理输出:

setsid python script.py > output.log 2>&1 &

3. 将命令放入后台 (&)

将命令放入后台并不直接防止 HUP 信号,但它可以在某些情况下实现类似效果。通过在命令后添加 &,程序将在后台运行,用户可以关闭终端窗口而不影响后台进程。但是,仍然建议结合其他方法来确保作业的持久性。例如:

(your_command) &

示例:运行后台任务:

(python script.py) &
python3 UDI_CDMet.py &
python3 UDI_Beijing.py &

注意:虽然这种方法可以让进程在后台执行,但如果用户注销,进程仍可能受到 HUP 信号的影响。因此,最好与 nohup 或 setsid 配合使用。

总结

  • 推荐方案:通常推荐使用 nohup 或 setsid 来确保长时间运行的作业不受网络或用户注销的影响。
  • 输出管理:确保正确处理输出,以便后续查看日志和结果。

参考

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

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

相关文章

Ubuntu 20.04下Kinect2驱动环境配置与测试【稳定无坑版】

一、引言 微软Kinect2传感器作为一个包含深度传感器、RGB摄像头以及红外摄像头的多模态采集设备,在计算机视觉、机器人感知、人体姿态识别、3D建模等领域有着广泛应用。相比第一代Kinect,Kinect2拥有更好的深度分辨率和更高的数据质量。本文将详细介绍如…

深度学习-75-大语言模型LLM之基于llama.cpp和Transformers与Qwen(通义千问)因果语言模型交互

文章目录 1 Qwen2.51.1 模型介绍1.2 Qwen2.5-0.5B模型1.3 llama.cpp支持Qwen架构2 下载模型2.1 Huggingface镜像网站整体下载2.2 阿里魔塔社区整体下载2.3 模型Qwen2.5-0.5B-Instruct-IQ3_M.gguf3 推理方式3.1 llama.cpp启动模型3.1.1 补全3.1.2 聊天3.2 使用transformers库3.2…

Flask入门:打造简易投票系统

目录 准备工作 创建项目结构 编写HTML模板 编写Flask应用 代码解读 进一步优化 结语 Flask,这个轻量级的Python Web框架,因其简洁和易用性,成为很多开发者入门Web开发的首选。今天,我们就用Flask来做一个简单的投票系统,让你快速上手Web开发,同时理解Flask的核心概…

ApacheStruts2 目录遍历与文件上传漏洞复现(CVE-2024-53677,S2-067)(附脚本)

0x01 产品描述: Apache Struts 2 是一个用于JAVA的MVC框架,它用于快速开发web应用。它的设计目标是使得开发者能够更容易的处理web应用的展现层,数据层,和业务层。0x02 漏洞描述: CVE-2024-53677 漏洞的根本原因是 Struts 框架中不安全的文件上传处理机制。攻击者利用 CVE…

Cadence学习笔记 9 器件封装匹配

基于Cadence 17.4,四层板4路HDMI电路 更多Cadence学习笔记:Cadence学习笔记 1 原理图库绘制Cadence学习笔记 2 PCB封装绘制Cadence学习笔记 3 MCU主控原理图绘制Cadence学习笔记 4 单片机原理图绘制Cadence学习笔记 5 四路HDMI原理图绘制Cadence学习笔记…

2011年IMO几何预选题第5题

△ A B C \triangle ABC △ABC 内心为 I I I, 外接圆在 B B B, C C C 两点处的切线交于 P P P, D D D, E E E 分别为 B I BI BI, C I CI CI 与外接圆的交点, D E DE DE 分别交 A B AB AB, A C AC AC 于点 M M M, N N N, 过 M M M 作 B I BI BI 平行线, 过 N N …

Python构造方法:对象的“开机启动程序”

在Python中,构造方法(__init__)是一个类的“生命之初”,定义了每个对象从“出生”到“投入使用”的整个初始化过程。那既然类里可以直接写属性,为什么还需要构造方法呢? 构造方法的核心作用:创…

Superset 和 Appsmith的对比

对于报表数据需要给到前端进行定制化展示,并且直接提供基于报表的 API 让前端调用,以下是对 Superset 和 Appsmith 的对比分析: 1. Apache Superset API 支持 Superset 提供 REST API 接口,可以让前端调用获取报表数据。前端可以…

idea | maven项目标红解决方案 | 强制刷新所有依赖

场景:父pom多模块,新增时,依赖正常,但是application.yml看起来没被springboot识别,试过rebuild、重开idea清除缓存,重新maven面板reload all maven projects, 试过pom文件的依赖先移除再重新粘贴导入进来&a…

Nginx常用配置详解(1)

Nginx常用配置详解 一、全局块(main)配置 在Nginx的配置文件中,最外层的部分是全局块。这部分配置通常会影响Nginx服务器整体的运行参数。 worker_processes 作用:这个配置指令用于指定Nginx工作进程的数量。工作进程是Nginx处理…

单幅图像合成 360° 3D 场景的新方法:PanoDreamer,可同时生成全景图像和相应的深度信息。

论文介绍了一种从单幅图像合成 360 3D 场景的新方法。该方法以连贯的方式生成全景图及其相应的深度,解决了现有最先进方法(如 LucidDreamer 和 WonderJourney 的局限性。这些方法按照生成轨迹依次添加细节,通常在循环回输入图像时导致可见的接…

Linux —— 管理进程

一、查看进程 运行态(Running) 定义:处于运行态的进程正在 CPU 上执行指令。在单 CPU 系统中,同一时刻只有一个进程处于运行态;在多 CPU 或多核系统中,可能有多个进程同时处于运行态。示例: 当…

Kubernetes中subPath

在Kubernetes(K8s)中,当容器关闭时,其使用的subPath目录的清理行为取决于几个因素。首先,subPath允许Pod中的容器挂载共享卷的一个子目录,而不是整个卷。这种机制有助于避免不同容器间的文件冲突。 容器关闭…

前端(组件传参案例)

父组件(商品详情页) 子组件上边放大图 底下缩小轮播图 需求分析:父组件获取图片数据,传给底下子组件进行进行轮播,实现父组件给子组件传参。然后底下子组件轮播后,把当前图片下标给父组件,实现子组件给父组件传参。父组…

Linux基础 -- 查看程序注册了的信号的方案

程序注册了哪些信号的方案 方法 1:使用 strace 动态追踪信号处理注册 strace 是一个强大的工具,可以动态捕获程序对信号的处理注册行为(如 sigaction 或 signal 系统调用)。 示例 启动程序并追踪信号注册: strace…

数据库设计的四大原则:优化性能、保证一致性与高效处理

目录 一. 数据冗余最小化 二. 数据一致性 三. 事务处理 四. 查询性能优化 数据库设计不仅是关于创建表和字段的简单任务,更是构建一个高效运行、易于维护且能够确保数据一致性的系统的核心。一个好的数据库设计不仅能提升应用程序的性能,还能为未来的…

What‘s Next on TON 成都站|聚焦生态创新,共享技术前沿

2024 年,TON 生态为何持续吸引全球开发者和用户的关注?在经历了一系列重要的技术更新和生态扩展后,TON 正在迎来一个爆发式增长的阶段。作为全球四城巡回沙龙的第三站,成都站的活动将如何继续推动这一势头,带来哪些不容…

算法-动态数组-62.不同路径

一、题目 二、思路解析 1.思路&#xff1a; 对于找到目的地它的来源主要来源于目的地的上一格和目的地的左一格 2.常用方法&#xff1a; 无 3.核心逻辑&#xff1a; 1.处理边界&#xff1a; a.只向右移动&#xff0c;至始至终只有一条路径 for(int i0;i<m;i){dp[i][0]1; } …

近端策略优化(Proximal Policy Optimization, PPO)详解

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Windows 系统如何高效搭建 Linux 开发环境,一步步解锁内核源码

每日禅语 人闲桂花落&#xff0c;夜静春山空。月出惊山鸟&#xff0c;时鸣春涧中。人人皆以为王维只是在写自然界景物的美丽&#xff0c;其实这首诗不只体现了自然界的美丽&#xff0c;更是诗人内心的写照&#xff0c;体现了诗人心中禅心与禅境的完美结合。这首诗的境界之所以如…