让进程的运行不受终端影响的几个方法

让Linux的进程不受终端影响 <br />使用SSH远程登陆上服务器,运行一些耗时的任务时,如果因为网络中断,这些任务也会就此中断,应此需要这些任务不受终端断开而影响,首先先看下图:<br /><br /> <br />这是运行以下命令的结果 : ping localhost > /dev/null &,很明显ping是sshd的子子进程,因此当sshd断开连接时,ping命令必然会终止。<br /> <br />以下有几种方法避免此种情况发生:<br /> <br />一、使用nohup:<br />在网络断开和logout时,终端会 阅读详情

     有时候会往集群山发送一个运行时间很长的作业,但是有可能因为用户注销的原因或者网络断开的原因导致运行的作业终止。这是因为,这些事件发生的时候,系统会收到HUP(hangup)信号,然后将用户的所有进程都终止掉。

     为了保证作业可靠的运行,有三种简单的方法:一种使用setsid命令,另外一种是使用nohup,还有就是使用(&)

     nohup使提交的进程忽略系统发送的HUP信号,用法就是在正常的命令前面加上nohup 就可以了。

     还有一种方法是让进程或者作业在一个新的会话中进行,使用setsid就达到这个目的了。使用方法和nohup相同,也是在启动作业的命令前面加上setsid即可。这时启动的进程的父进程为init进程,因此即使用户注销或者网络中断,也不会给此进程发送HUP信号。

     使用(&)的效果和setsid的效果相同,使用方法为( 启动作业的命令 &)。也将在一个新的会话中启动进程。父进程为init进程,不会收到用户注销或者网络中断的任何影响。

本文出自 “相信并热爱着” 博客,请务必保留此出处http://hipercomer.blog.51cto.com/4415661/895311

linux下程序的前、后台切换及让进程不受终端的影响 环境:ubuntu 12.04LTS          我们都知道,在Linux终端运行程序或命令的时候,在命令行的末尾加上&,就可以使程序或命令在后台运行。 一、程序的前、后台切换。 1、先看几个命令:    1)、jobs  显示由当前shell环境中所起的后台正在运行或者被挂起的任务信息。        jobs –l 显示详细的信息                 Ps:[ 阅读详情

相关推荐

守护进程(后台进程、会话、控制终端)

目录守护进程进程组会话控制终端构建一个守护进程参考资料 守护进程 守护进程是在后台运行不受终端控制的进程。 脱离终端 避免执行过程中的信息在终端上显示 不会被任何终端所产生的终端信息打断 进程组 每个进程除了有一个进程ID(PID)之外,还属于一个进程组 进程组是一个或多个进程的集合,同一进程组中的各进程接收来自同一终端的各种信号 每个进程组有一个组长进程。组长进程的进程组ID等于其进程ID 会话 会话(session)是一个或多个进程组的集合,非进程组长的进程调用 setsid 函数(原型:

caifang112的博客 904

linux终端进程bash,让Linux的进程不受终端影响

使用SSH远程登陆上Linux服务器,运行一些耗时的任务时,如果因为网络中断,这些任务也会就此中断,应此需要这些任务不受终端断开而影响,首先先看下图:这是运行以下命令的结果 : ping localhost > /dev/null &,很明显ping是sshd的子子进程,因此当sshd断开连接时,ping命令必然会终止。以下有几种方法避免此种情况发生:一、使用nohup:在网络断开和...

weixin_33772442的博客 1283

nohup实现命令后台运行不受终端影响

经常在linux下开发的人应该都有这样的经验,就是在终端上启动的程序,在关闭终端时,这个程序的进程也被一起关闭了。看下面这个程序,为了使进程永远运行,在输出helloworld后,循环调用sleep:直接关闭这个终端,在另一个终端上查找该进程,已经找不到了:这个行为看起来似乎是理所当然的,也符合人的第一感觉:”在终端上启动的程序是属于终端的,所以当关闭终端时,这个终端里的一包裹进程都一起被解决掉了”。在linux下,一个session是由一组进程组构成的,每个进程组又由多个进程构成。打开终端,相当于启动了一

二进制君 734

让Linux进程脱离终端在后台运行

让Linux进程脱离终端而在后台运行 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务,结果却由于网络的不稳定导致任务中途失败。 如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行而不受本地关闭终端窗口或网络断开连接的影响呢?有三种方法:nohup,setsid,(&)。 我们知道,当用户退出或者网络

iw1210的专栏 2562

我用WorkBuddy“克隆“了一个我,从此每句话像我自己说的

各位,做这件事花了多长时间?准备样本可能要半小时,提炼风格十分钟,保存固化再花十分钟。加起来不到一个小时。但这一个小时之后呢?你就拥有了一个"永远在线的文字替身"。以后写口播稿,打开WorkBuddy跟它说;写课程逐字稿,跟它说;写公众号文章,也跟它说。写出来的东西,你的学员一看——“嘿,这不就是翟猛老师说的嘛。说到这儿,可能有人会问:老师,我的风格有那么重要吗?AI写的不都挺好的吗?各位你想想看,你为什么愿意听某个老师的课?不只是因为他讲的内容好,更是因为你喜欢他讲话的方式。

weixin_39284145的博客 819

【小白教程】本地部署VLM-R1模型(使用Docker)

通过Docker本地部署VLM-R1大模型,详细教程。

m0_69855053的博客 2937

Linux后台执行的方法 - 关闭、退出不影响

难免会遇到在Linux,后台执行任务。下面,总结了一下关闭窗口任然在后台执行的方法,例如 #执行一个打包命令 tar czf /data/backup.tgz /data/backup #执行一个打包命令 tar czf /data/backup.tgz /data/backup 1. 采用& tar czf /data/backup.tg...

a736933735的专栏 2万+

从零构建:毫米波雷达生命信号检测系统的Matlab仿真全流程解析

本文详细解析了毫米波雷达生命信号检测系统的Matlab仿真全流程,涵盖原理、信号处理链路设计及算法优化策略。通过FMCW雷达技术,实现非接触式呼吸心跳信号检测,结合Matlab代码示例展示距离FFT、相位提取与信号分离等关键步骤,为医疗监护和智能家居应用提供实用指南。

weixin_29303701的博客 355

后台运行程序的几种方式

后台运行程序的几种方式 目录 1. 当前终端后台运行 示例1,使用ctrl z, bg 示例2,使用& 示例3,重定向标准输出和标准错误输出 2. 脱离当前终端运行 示例4,使用nohup,忽略挂起,避免终端关闭导致程序也被关闭。 示例5,使用setsid,使程序直接运作在init下(即父进程为1),自然不会受到当前终端的影响了。 示例6...

feiyu5323的专栏 7281

水文地质人必备:用Origin Pro 2023手把手教你搞定Piper三线图(附数据模板)

本文详细介绍了如何使用Origin Pro 2023绘制专业级Piper三线图,适用于水文地质数据分析。从数据准备、百分比计算到图表参数设置,提供全流程指导,并附赠数据模板和样式预设文件,帮助用户快速掌握这一水文地球化学分析的核心工具。

weixin_30568591的博客 533

LVGL开发新选择:深度对比NXP GUI Guider与SquareLine Studio,免费版够用吗?

本文深度对比了LVGL开发中两款主流工具NXP GUI Guider与SquareLine Studio的核心差异,包括功能定位、设计能力、代码生成质量和硬件适配等方面。针对不同项目需求,分析了免费版工具的适用性,帮助开发者根据预算和功能需求做出明智选择。特别关注了GUI设计工具在嵌入式开发中的实际应用效果。

weixin_26976635的博客 426

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

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

WW、forever的博客 826

【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦

好了,关于 【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。1、手动下载对应版本到 pyenv-win\install_cache 目录(如上手动操作安装步骤,文件名需匹配,如 python-3.10.0-amd64.exe)。该指令会列出,pyenv包管理工具所支持的所有python版本,

Spring Boot-Common On With You 852

Linux下使命令不受终端断开的影响,保持在后台运行的几种方法及原理

摘自https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/ 记录一下Linux下使命令不受终端断开的影响,保持在后台运行的几个方法及其原理。当用户注销logout或者网络中断时,终端会受到HUP(hangup)信号从而关闭其所有子进程。因为解决方法大体有两种:要么让进程忽略HUP信号,要么让进程运行...

weixin_30299539的博客 242

SAP_PP模块定额工艺路线简介

在 SAP PP(生产计划)模块中,定额工艺路线(Routing) 是生产制造流程中的核心主数据之一,用于定义制造一个产品所需的标准操作步骤。工艺路线详细描述了生产过程中的各个工序、使用的工作中心、标准作业时间、资源分配等信息,是进行生产计划、成本核算、排产控制、车间执行等功能的基础。

我小时候很黑的博客 763

PyTorch实战(14)——图注意力网络(Graph Attention Network,GAT)

本节介绍了图注意力网络 (Graph Attention Network, GAT) 在节点分类任务中的应用。相比图卷积网络 (GCN) 的平均聚合机制,GAT 通过引入注意力机制,能够为不同邻居节点分配差异化权重,从而更精准地捕捉图结构信息。实验表明,GAT 在 CiteSeer 数据集上的分类准确率达到 71.1%,较 GCN 提升 2.5 个百分点。可视化结果显示,GAT 学习到的节点表征具有更好的类别区分度。这验证了注意力机制在图数据建模中的有效性,为处理复杂图结构任务提供了更优解决方案。

盼小辉丶的博客 3541

AutoDL关闭终端或网络中断不影响程序运行的方法

AutoDL关闭终端或网络中断不影响程序运行的方法

weixin_45224906的博客 3836

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

让linux 进程不受终端影响

让linux 进程不受终端影响

qing101hua的专栏 302

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

hald进程 linux,linux进程不受终端影响

我们使用ssh连接服务器之后,如果在执行某个命令需要时间特别长,当把终端断掉之后,命令就自动停止了一般我们在ssh客户端执行命令之后,默认他的父进程是ssh,所以把ssh终端关掉之后,子进程也就被自动kill掉了,解决办法就是更改这个命令进程的父进程为init,那样ssh退出去之后,命令依然会运行默认情况下:[root@localhost ~]# ping 127.0.0.1 &>/...

weixin_29322553的博客 213

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

如何让终端运行的任务不受终端关闭影响

http://16.157.69.125:8182/document/YXjSKQIcDl0pZkF9dCC97Q/paginate 最近在工作中需要在linux上运行一个java 程序,去download 一大堆的图片,但是每次关掉终端,任务也同时停止了,这很正常, 因为是在同一个进程里吗 在网上找了篇文档,不错,写得很透彻,分享以下 http://www.heibai.net/artic...

jarpy 470

进程与终端--终端关闭后,后台进程也终止

问题:ssh登录服务器,并开启一个后台进程,然后自己去做其他事情了。等过了一会儿,当再来查看时,发现开启的后台进程莫名其妙的挂掉了。原因:无论进程是在后台还是在前台,它都与启动它的终端实例紧密绑定。当终端关闭时,它通常向绑定到终端的所有进程(前台、后台进程)发送SIGHUP信号。 这表示进程终止,因为它们的控制终端将很快不可用。 本例中,ssh登录终端,超过一定时间没有操作后,连接断开,终端关闭,

翔云 7576

后台运行程序:让程序不受终端影响

SSH断开,程序就停了?今天聊聊怎么让程序在后台持续运行。

A1324705312的博客 472

用以促学——Linux进程后台运行的原理、方法、比较及其实现

用以促学——Linux进程后台运行的原理、方法、比较及其实现 文章目录用以促学——Linux进程后台运行的原理、方法、比较及其实现前言相关基础知识应用场景问题所在linux概念说明session(会话)定义会话的创建会话的消亡signal(信号)SIGHUP (*signal hang up*)SIGINT (*Signal interrupt*)SIGTERM (*Signal terminate*)SIGKILL (*Signal kill*)SIGCONT (*Signal continue*)后台

YelloooBlue's Blog 2511

【Linux】掌握 setsid:让进程脱离终端独立运行

setsid 是 Linux/Unix 系统中用于启动新会话的命令,使指定程序脱离当前终端的控制,成为独立的守护进程。其核心功能包括创建新会话、脱离终端依赖以及避免进程被信号干扰。常见用途包括启动守护进程、避免终端退出时进程被终止,以及结合 nohup 使用。setsid 的语法简单,常用选项如 -w 用于等待子进程结束,-V 显示版本信息。与 nohup、disown 等命令相比,setsid 更彻底地脱离终端,适合长期运行的服务或任务。通过 setsid,可以轻松实现进程的“后台持久化”,确保其不受终端

言之。 1万+
上一篇: Linux 下从命令行打开pdf文件和html文件的命令
下一篇: Linux 下从命令行打开pdf文件和html文件的命令
下木
博客等级 码龄16年 88粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值