linux后台运行及任务挂后台-linux亲测有效操作001

news/2024/5/10 10:51:29/文章来源:https://blog.csdn.net/weixin_44874487/article/details/137435915

由于命令行耗时太久,突然想把进程挂后台走人怎么办?

01 前台转到后台
1. 输入ctrl + z 将该前台任务挂起^Z
[1]+  Stopped XXXXXXXX2. 运行jobs命令,查看任务号(可以看到run.sh对应的任务号是1)jobs -l  #-l显示pid                                                                                                 
[1]  + suspended  XXXX3. 运行bg命令,将任务从前台转到后台,这里的任务就是1,
bg %14.jobs检查
jobs -l  #-l显示pid  
[1]+  Running    XXXX
02 后台转到前台
1. 查看后台任务(同一终端)jobs
[1]  + running   XXXXXXX2. 运行fg命令,将任务从后台转到前台fg %1                    
[1]  + XXXXXX

重点是忘记Screen了,成本巨高,那就挂着开着吧,也没有nohup,这时候就要Ctrl+Z了。

仅在当前终端有效!其他的终端无法显示!

小结:通过 jobs 命令查看工作ID,使用 bg 命令可以把前台程序放入后台,使用 fg 命令可以把后台程序拉到前台,jobs、bg、fg 的配合使用能有效管理前后台任务。

是否可行?可

让程序无视 SIGHUP 信号的命令 nohup 与 disown

为了确保程序即使在终端断开链接后仍然可以在后台运行,需要用到 nohup 或者 disown 命令:# 常见的 nohup 命令
nohup bash running.sh > file.out 2>&1 &# 或者使用 disown -h 命令
bash running.sh > file.out 2>&1 & disown -h但是确实不如screen啊!
最佳解决策略
1. 等
2. 进入screen吧,下次长记性!

幸好,我们可以转入screen,开心嘛?!

如何将进程移到screen?1. Ctrl+Z进程2. bg恢复进程在后台运行3. 解除从属关系disown %1启动一个screen   -S or -r查找进程PID  jobs -l可查询yum -y install reptyr执行reptyr -T 132385 将进程移到该screen

但是,我们转到后台运行不影响当前终端退出,是可行的!

3 解除从属关系!

使用disown命令。如果你已经使用bg将一个任务放到后台,你可以使用disown命令来移除这个任务与当前终端的关联。这样,当你退出终端时,任务不会收到SIGHUP信号。在使用bg后,你可以简单地输入disown命令。解除从属关系disown %1即可。

使用 disown %1从shell中夺走所有权disown %1
#不影响退出终端,亲测有效

使用`disown %1`从shell中夺走作业的所有权意味着,即使你退出shell,该作业也不会因为收到`SIGHUP`信号而被停止。然而,这个操作并不影响程序的正常执行逻辑。程序如果达到了它的自然结束点或遇到了使其停止的条件,它仍然会停止运行。

换句话说,`disown`命令只影响程序与终端会话之间的关系,防止终端关闭时向程序发送`SIGHUP`信号。它不会改变程序内部的逻辑。如果程序完成了它的任务,它就会像平时一样结束,无论它是否被`disown`。

所以说,没有screen也没关系呀!

总结

命令用法说明
jobsjobs -l查看任务详情pid等
bgbg %工作ID将工作ID任务调入后台运行
fgfg %工作ID将工作ID任务调入前台运行
killkill -n [ PID | %工作ID ]向任务发送信号
&command-line &将任务立即放入后台运行
nohupnohup command-line忽视 SIGHUP 信号
disowncommand-line disown -h
or
disown %1

忽视 SIGHUP 信号

亲测disown %1有效

哈,可以下班了!下班啦!

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

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

相关文章

4月6号排序算法(2)

堆排序 讲堆排序之前我们需要了解几个定义 什么叫做最大堆,父亲节点,以及孩子节点 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。 每个节点都是它的子树的根节点的父亲 。 反过来每个节点都是它父亲的孩子 。 …

Java从坚持到精通-SpringSecurity

1.安全框架是什么 安全框架的本质就是一堆过滤器的组成,目的在于保护系统资源,所以在到达资源之前会做一系列的验证工作,这些验证工作通过一系列的过滤器完成。安全框架通常的功能有认证、授权、防止常见的网络攻击,以此为核心拓…

IP地址中网络号的查看方法

IP地址是互联网中设备的标识,它由网络号和主机号两部分组成。网络号用于标识设备所连接的网络,而主机号则用于标识该网络中的具体设备。了解如何查看IP地址中的网络号对于网络管理员和需要进行网络配置的用户来说至关重要。虎观代理将介绍几种常见的查看…

linux之文件系统、inode和动静态库制作和发布

一、背景 1.没有被打开的文件都在磁盘上 --- 磁盘级文件 2.对磁盘级别的文件,我们的侧重点 单个文件角度 -- 这个文件在哪里,有多大,其他属性是什么? 站在系统角度 -- 一共有多少文件?各自属性在哪里&#xff1f…

Vue3---基础2(component)

主要讲解 component 的创建 以及vue插件的安装 Vue.js Devtools 为谷歌浏览器的Vue插件,可以在调试工具内查看组件的数据等 下载 有两种下载方式 1. 谷歌应用商店 打开Chrome应用商店去下载,这个方法需要魔法 2. 极简插件 极简插件官网_Chrome插件下载_…

react渲染列表信息(简单易学)

1.新建个文件夹,启动终端,使用create-react-app my-react命令创建项目,其中my-react是自定义项目名称。 2.删除根目录src文件夹下多余文件,保留index.js和index.css文件 3.安装scss需要的依赖,使用npm install --sav…

常见性能测试工具对比

在性能测试工作中,我们常常会遇到好几个工具,但是每一个工具都有自己的优势,一时间不知道怎么选择。 今天我们就将性能测试常用的工具进行对比,这样大家在选择工具的时候心里就有底啦! 阿里云PTS 性能测试PTS&#xff…

【Linux】shell 脚本基础使用

在终端中输入命令可以完成一些常用的操作,但是我们都是一条一条输入命令,比较麻烦,为了解决这个问题,就会涉及到 shell 脚本,它可以将很多条命令放到一个文件里面,然后直接运行这个文件即可。 shell 脚本类…

【UnityRPG游戏制作】Unity_RPG项目之界面面板分离和搭建

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

【Qt】多线程

目录 一、常用API 二、线程安全 2.1 互斥锁 2.2 条件变量 2.3 信号量 在Qt中,多线程的处理一般是通过QThread类来实现 QThread代表一个在应用程序中可以独立控制的线程,也可以和进程中的其他线程共享数据。QThread对象管理程序中的一个控制线程 …

深入探索力扣第12题:整数转罗马数字的算法之旅

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作http://t.csdnimg.cn/Q59WX作者专栏每日更新: LeetCode解锁1000题: 打…

业务逻辑漏洞(靶场) fiddler

目录 fiddler简介: 业务逻辑漏洞: fiddler下载 靶场: 实验一 ​编辑实验二(ps 更改实验url会变,fiddler没抓到东西看看代理改没改) 实验三 实验四 fiddler简介: 一款网络抓包工具&#…

ht1622不显示无反应问题解决

如果你正在写ht1622 驱动时,怎么看程序都没问题,抓取波形,示波器分析波形,如果都没有问题,那么很大可能是硬件问题,检测看看 ht1622 RD是不是接地了。 RD 低会进入读取模式,所以不用RD 请将RD悬…

雄安建博会:中矿雄安新区的总部开工建设

中矿落位雄安:助力国家战略与新区发展 雄安新区,作为中国未来发展的重要战略支点,正迎来一系列央企总部的疏解与建设。最近,中国矿产资源集团有限公司(简称“中矿”)在雄安新区的总部项目正式开工建设&…

Jettison 1.8.7直装版 外部磁盘辅助弹出

Jettison 是一款适用于 macOS 的实用工具,旨在简化外部驱动器的管理。它可以自动卸载和重新挂载外部驱动器,帮助您更方便地使用和保护您的存储设备。 软件下载:Jettison 1.8.7直装版下载 自动卸载和重新挂载:Jettison 可以在您离开…

yolo预标注的txt转换成labelme中segment的json

前言 在yolo预标注的时候,想把保存的txt转换成labelme中segment的json,于是写了下面的脚本。 1.引入库 完整代码: import os import json from tqdm import tqdmdef get_image_size(image_path):from PIL import Imagewith Image.open(ima…

Spring boot如何执行单元测试?

Spring Boot 提供了丰富的测试功能,主要由以下两个模块组成: spring-boot-test:提供测试核心功能。spring-boot-test-autoconfigure:提供对测试的自动配置。 Spring Boot 提供了一个 spring-boot-starter-test一站式启动器&…

unipush+个推实现消息推送

1.注册个推平台的帐号个推,专业的数据智能服务商-为垂直领域提供数据智能解决方案 2.应用列表中选择新增应用/服务 3.填写下应用信息4.创建好应用后在manifest.json中的sdkConfigs配置上写入appid、appkey、appsecret "sdkConfigs" : {"ad" :…

硬件学习件Cadence day16 做个笔记,BOM 位号这个参数输出的两种情况。

1. BOM 中位号有3种情况 1. 一种是位号生成时多行,每行是固定的位数。(如下图所示) 2. 一种是位号生成时只有一行,但是可以使用表格中自动换行功能,给他换行,但是这个位号本质上只有一行,只是因…

基于深度学习的乳腺癌智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…