Linux中如何让进程在后台运行

Linux技巧:让进程后台运行 Linux技巧:让进程后台运行,包括一些常用的操作技巧,nohup,setid.screen等。 立即下载

转:http://www.ningoo.net/html/2008/how_to_run_processes_on_background_in_linux.html

在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:

$ ./test.sh &
[1] 17208

$ jobs -l
[1]+ 17208 Running                 ./test.sh &
对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行:

$ ./test.sh
[1]+  Stopped                 ./test.sh

$ bg %1
[1]+ ./test.sh &

$ jobs -l
[1]+ 22794 Running                 ./test.sh &

但是如上方到后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1)

$ echo $$
21734

$ nohup ./test.sh &
[1] 29016

$ ps -ef | grep test
515      29710 21734  0 11:47 pts/12   00:00:00 /bin/sh ./test.sh
515      29713 21734  0 11:47 pts/12   00:00:00 grep test
$ setsid ./test.sh &
[1] 409

$ ps -ef | grep test
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh
515        413 21734  0 11:49 pts/12   00:00:00 grep test
上面的试验演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:

$ ./test.sh &
[1] 2539

$ jobs -l
[1]+  2539 Running                 ./test.sh &

$ disown -h %1

$ ps -ef | grep test
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh
515       2542 21734  0 11:52 pts/12   00:00:00 grep test
另外还有一种方法,即使将进程在一个subshell中执行,其实这和setsid异曲同工。方法很简单,将命令用括号() 括起来即可:

$ (./test.sh &)

$ ps -ef | grep test
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh
515      12483 21734  0 11:59 pts/12   00:00:00 grep test
注:本文试验环境为Red Hat Enterprise Linux AS release 4 (Nahant Update 5),shell为/bin/bash,不同的OS和shell可能命令有些不一样。例如AIX的ksh,没有disown,但是可以使用nohup -p PID来获得disown同样的效果。

还有一种更加强大的方式是使用screen,首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果,这在有多个命令需要在后台连续执行的时候比较方便:

$ screen -dmS screen_test

$ screen -list
There is a screen on:
        27963.screen_test       (Detached)
1 Socket in /tmp/uscreens/S-jiangfeng.

$ screen -r screen_test

用ADS复现一篇MTT顶刊的GAN功率放大器:从理论推导到版图仿真的完整避坑指南 本文详细解析了如何利用ADS软件复现MTT顶刊中的E/F3类GaN功率放大器设计,从理论推导到版图仿真的全流程。通过核心设计理念解析、ADS环境配置、输出匹配网络优化等关键步骤,提供了一套完整的工程实践指南,帮助工程师跨越学术理论与实际应用的鸿沟,实现高效率射频功率放大器的设计。 阅读详情

相关推荐

从充电管理芯片里‘偷师’:拆解一个PMOS双向开关电路,搞定你的固态继电器需求

本文深入解析了PMOS双向开关电路在固态继电器应用中的设计要点,重点探讨了防电流倒灌和高侧双向开关的实现技巧。通过拆解充电管理芯片中的PMOS背靠背结构,工程师可以构建高效可靠的固态开关方案,适用于智能硬件和电池管理系统。文章还提供了关键参数选择、电路优化建议及实测数据对比,助力解决电源防反接等工程难题。

weixin_33698043的博客 481

让进程在Linux后台运行

在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ./test.sh & [1] 17208 $ jobs -l [1]+ 17208 Running ./test.sh & 对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台...

难得悠闲自得 350

LinuxMint 22.1(Ubuntu24.04)下通过Wine完美运行同花顺远航版的实战指南

本文详细介绍了在LinuxMint 22.1(Ubuntu24.04)系统下通过Wine完美运行同花顺远航版的实战指南。从基础环境准备到深度优化,包括Wine环境配置、同花顺远航版安装、字体显示调优、任务栏兼容性修复等关键步骤,帮助Linux用户高效使用同花顺远航版进行股票交易和行情分析。

weixin_30919429的博客 570

Linux 将进程切换到后台运行——nohup、&

使用方法: # 使用 & 使程序后台运行 python test.py & #使用 nohup 是程序后运行 nohup python test.py #后台执行程序 (推荐此方法) nohup python test.py > /dev/null 2>&1 & 说明 ***************************************************************** 此处的/dev/null可以替换成xxxx.log这种日

NolanのBlog 1919

windows系统下,如何为comfyui如何安装triton

​ 有些加速插件、模型在安装的时候,比如说sageattention的安装,就需要提前安装triton这个包,不过这个包有点特殊,windows下略微不好装,经常会装失败。 🎠如何安装 之前也有人介绍过,要到github上找个wheel文件,找到对应的版本安装下就好了。 问题是:https://github.com/woct0rdho/triton-windows/releases 这个git地址上,已经找不到wheel文件了... ​

聚梦小课堂 4496

Python 实战:高效绕过 reCAPTCHA v3 的自动化策略

本文深入探讨了使用Python高效绕过reCAPTCHA v3验证的实战策略。文章首先解析了reCAPTCHA v3无感验证的评分机制,随后详细介绍了两种核心解决方案:一是利用CapSolver等专业API服务直接获取有效token,二是通过Playwright模拟真人浏览器行为以提升评分。文中提供了从定位关键参数到代码实现的完整流程,并强调了合规操作与请求频率控制的重要性,为自动化开发者提供了切实可行的技术指南。

weixin_29057065的博客 488

linux shopt | 只添加了&运行符号,没有nohup,为什么退出后,进程仍然在?

只添加了&运行符号,没有nohup,为什么退出后,进程仍然在?

西京刀客 1819

使用pytorch构建LSTM_AE模型的两种方式

2.基本LSTM_Unit计算——基本LSTM_AE结构 3.自定义LSTM_Unit计算——自定义LSTM_AE结构 1.LSTM-Encoder-Decoder模型结构及简要解析 图基本lstm计算单元

qq_37840762的博客 7273

如何在后台运行 Linux 命令并且将进程脱离终端

作为结束陈述,运行一个连接到控制终端的进程,作为用户你将会在你的终端上看到这个进程数据的许多行的输出,也包含错误信息。同样,当你关闭一个控制终端,你的进程和子进程都将会终止。行的例子,简单的按下 Ctrl+Z 就可以停止它(这里说的“停止”,不是终止,而是“暂停”的意思),然后输入命令 bg 就可以继续以一个任务在后台运行了。在 Linux 上,/dev/null 是一个特殊的文件设备,它会忽略所有的写在它上面的数据,上述命令,输入来源和输出发送目标都是 /dev/null。

Free雅轩的博客 1564

在 RAP 中把业务对象“搬到网口上”:service definition 与 service binding 的全流程、范式与实战

本文解析了SAP ABAP开发中service definition和service binding的关键作用。service definition负责选择要暴露的CDS实体和行为,形成服务模型;而service binding则将服务绑定到具体协议(如OData),生成可访问的端点。两者分离带来三大优势:支持同一模型多重发布、降低环境迁移耦合度、强化安全治理。文章通过预订业务对象的端到端示例,展示了如何从CDS建模到生成Fiori Elements预览。最后以售后工单业务为例,说明这种架构如何支持内外服务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 390

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知

Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知 文章目录Gitlab通过Webhook自动触发Jenkins构建任务并在更新完毕后发送钉钉消息通知1.实现思路2.新增钉钉机器人并测试消息的发送2.1.新增钉钉机器人2.2.测试发送消息到钉钉3.在Jenkins中新建一个构建任务3.1.新建任务3.2.配置任务时增加参数化构建过程3.3.配置任务添加git地址3.4.配置构建触发器生成gitlab webhook使用的token3.5.配置任务构建过程中执行的She

江晓龙的博客 3808

linux打开vi转入后台运行,利用kill命令结束该进程,Linux操作系统桌面应用与管理Q4rw2进程与作业管理.ppt...

Linux操作系统桌面应用与管理Q4rw2进程与作业管理练 习 1) 运行top命令 top 2)将top命令转后台继续运行 先ctrl+z,然后bg %1 3)将top命令转前台 fg %1 任务 进程管理 利用VI手工启动两个进程在后台运行; 用VI编辑一个文件,并转入到后台运行; 把在后台运行中最前面的VI进程调入到前台运行; 杀死其中一个VI进程; 重新打开另一个VI进...

weixin_42300211的博客 908

Explorer.exe系统错误,电脑重启后刚开始一段时间正常,过一会桌面任务栏就卡死,可以打开任务管理器

联想E14Win10专业版。

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 8048

Linux进程的后台运行

Linux的进程后台运行

云创网络工作室官方账号 4754

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Linux后台运行进程

目录在这里嗷~,如有问题请私信我进行修改~

weixin_28703451的博客 163

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Linux后台运行进程命令

1. & 含义:命令后加&,后台运行该命令。 一般形式: command & 举例: sh test.sh & 适用命令:find命令、费时的排序及一些shell脚本。 不适用命令:需要用户交互的命令。 注意: a. 退出账户,作业停止运行。 b. 若放在后台运行的作业会产生大量的输出,最好重定向到某个文件中。 command > out.fi...

weixin_40680322的博客 933

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: Linux后台进程管理
下一篇: RealFlow5安装教程
cg_program
博客等级 码龄19年 245粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值