别忘了在disown之前执行bg命令,否则进程会一直stopped

别忘了在disown之前执行bg命令,否则进程会一直stopped

今天在Linux下测试程序,是直接执行的命令,如下所示:

[root@NODE22 bin]# ./cap
#======= CAP v20120216f =======#
prog-path: /root/work22/ct08/bin/
prog-name: cap
cfg_name='../cfg/cap.cfg'
loadconfig ok
checkconfig ok
System::Init ok
cap start ok, pid 8342

想到这个程序要在我下班之后继续执行,于是我就按下了Ctrl+Z

 


[1]+  Stopped                 ./cap

 

因为我准备关闭SecureCRT准备收工了,所以决定让它脱离我这个终端,执行了disown来做这件事

[root@NODE22 bin]# disown %1
-bash: warning: deleting stopped job 1 with process group 8342
[root@NODE22 bin]#

 

看看这个操作灵不灵,我看了一下日志,发现日志没有继续往下记录,正常情况应该往下记录的。

 

想起来,没有在disown之前执行bg命令,程序已经处于Stopped状态(看disown命令的输出),得让它继续往下执行

 

[root@NODE22 bin]# killall -CONT cap

 

日志也正常了。切记啊,切记啊:别忘了在disown之前执行bg命令

 

 

本文地址: http://codingstandards.iteye.com/blog/1408321

 

 

相关帮助信息:

[root@NODE22 eap_designer]# help disown
disown: disown [-h] [-ar] [jobspec ...]
    By default, removes each JOBSPEC argument from the table of active jobs.
    If the -h option is given, the job is not removed from the table, but is
    marked so that SIGHUP is not sent to the job if the shell receives a
    SIGHUP.  The -a option, when JOBSPEC is not supplied, means to remove all
    jobs from the job table; the -r option means to remove only running jobs.
[root@NODE22 eap_designer]# help bg
bg: bg [job_spec ...]
    Place each JOB_SPEC in the background, as if it had been started with
    `&'.  If JOB_SPEC is not present, the shell's notion of the current
    job is used.
[root@NODE22 eap_designer]# help fg
fg: fg [job_spec]
    Place JOB_SPEC in the foreground, and make it the current job.  If
    JOB_SPEC is not present, the shell's notion of the current job is
    used.
[root@NODE22 eap_designer]# help jobs
jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
    Lists the active jobs.  The -l option lists process id's in addition
    to the normal information; the -p option lists process id's only.
    If -n is given, only processes that have changed status since the last
    notification are printed.  JOBSPEC restricts output to that job.  The
    -r and -s options restrict output to running and stopped jobs only,
    respectively.  Without options, the status of all active jobs is
    printed.  If -x is given, COMMAND is run after all job specifications
    that appear in ARGS have been replaced with the process ID of that job's
    process group leader.
[root@NODE22 eap_designer]#

 

 

 

Linux终端作业控制与监控:从前后台管理到会话记录实战 在Linux/Unix系统中,进程管理与终端I/O控制是系统运维和开发的基础能力。其核心原理涉及进程组、会话机制以及信号处理,例如SIGTTOU信号用于管理后台作业的终端输出。掌握这些原理的技术价值在于提升对命令行环境的深度掌控力,实现多任务并行与状态持久化。典型的应用场景包括长时间编译任务管理、远程故障排查过程记录以及自动化部署中的交互处理。通过结合作业控制命令、tmux/screen会话管理以及script/expect等工具,可以构建一个可暂停、可恢复、可记录的工作空间,这正是实现终端键屏监控和操作回 阅读详情

相关推荐

Shell命令连接符与重定向详解:从&、&&、|到2>&1的实战指南

在Linux系统管理与自动化运维中,Shell命令的连接与重定向是核心基础技能。其原理基于进程间通信和文件描述符机制,通过符号组合实现命令的串并联、数据流控制。掌握这些技术能极大提升操作效率,实现自动化任务编排、日志管理和错误处理。常见应用场景包括后台任务执行、条件判断式脚本、数据管道处理以及输出流合并。本文聚焦于Shell连接符(如&、&&、||、|)和重定向符(如>、2>&1、&>)的实战用法,通过具体示例解析后台执行、逻辑判断和管道传输的实现方式,并特别针对nohup与&的组合使用、2>&1的常见误区

weixin_34274029的博客 418

Linux- 后台运行符&、nohup、disown

在Unix-like的操作系统(如Linux和macOS)的shell中,特别是在Bash这样的shell中,经常用作后台运行符号。让我们深入了解一下其功能和用法。

青衫客36的博客 4363

从SPICE到HSPICE:一个电路仿真工程师的Linux命令行实战笔记

本文详细介绍了从SPICE到HSPICE的电路仿真技术演进,重点分享在Linux命令行环境下进行HSPICE仿真的实战经验。内容包括环境配置、输入文件架构、仿真执行与性能调优技巧,以及结果分析与数据挖掘方法,助力工程师高效完成工业级电路仿真任务。

Pitbull2014的博客 440

在linux后台运行脚本命令和程序的方法大全

 需要在linux后台执行任务的情况还是经常会遇到的,比如一些费时的操作,或者一些需要长时间存在的程序。当然你也可以把这些任务做成守护进程或者后台服务,但这需要额外的工作量。  linux提供了很多方法可以直接将普通的命令、脚本、应用程序以后台的形式运行起来,这样就不会阻塞终端窗口的继续使用。常用的涉及后台执行的命令有十几多个,包括:&、ctrl+z、bg、fg、nohup、disown、...

黄志千的博客 3万+

船舶轨迹预测中的5个常见坑:基于LSTM单步预测的避坑实践

本文针对船舶轨迹预测中LSTM单步预测的常见问题,系统总结了五个典型陷阱及避坑实践。重点分析了如何正确处理AIS数据的非均匀采样与清洗、对航向角进行周期性编码、采用轨迹级归一化策略、缓解单步滚动预测的误差累积,并设计贴合业务的评估指标。这些实践能有效提升预测模型的准确性与实用性。

cnn8visionary的博客 631

5G-A无源物联网:深度解析“不插电“智能的底层技术原理

北京移动推出5G-A无源物联网技术,实现电动车标签"零功耗"运行。该技术通过射频能量收集(利用5G-A基站高功率信号转换为电能)和反向散射通信(调制反射信号传输数据)两大核心技术,使设备无需电池即可工作。5G-A相比4G在信号能量密度、通信速率和定位精度等方面显著提升,结合通感一体等创新技术,为无源物联网提供商用基础。该方案已在北京小区试点应用,实现电动车精准定位管理,标签寿命可达5年以上。专家预测,这项技术将大幅降低物联网部署成本,推动"万物智联"时代的到来。

通信行业老兵、物联网从业者,做一个有趣的普通人。 2009

linux任务管理

disown是bash内部命令,nohup是外部命令 disown跟bg,fg一样是针对job进行操作,nohup是针对命令操作 disown -h 和nohup一样,在退出bash后,把进程的控制权都交给init...

boisterous 263

牛顿法vs高斯牛顿法vs LM算法:三行代码说清核心区别(附性能对比表格)

本文通过对比牛顿法、高斯牛顿法和LM算法的核心迭代代码,揭示了三者在非线性最小二乘优化中的本质区别。LM算法通过引入阻尼因子,在高斯牛顿法的快速收敛与梯度下降的稳定性之间取得平衡,成为工程实践中鲁棒性最强的首选。文章还提供了清晰的性能对比表格,帮助开发者根据初始估计和问题性质快速选择合适算法。

weixin_29062255的博客 419

linux通过bg后台执行作业

通常执行后台作业使用nohup,但是如果未加任何处理执行了命令,再想使用nohup为时已晚。可以通过bg命令实现后台继续执行。 例如: 1.执行命令 [root@mylinux]# scp -r mysql_backup 10.10.10.10:/data/ 2.ctrl + z暂停 [1]+ Stopped scp -r mysql_backup 10.10.10.10:/data/ [root@mylinux]# 3.查询暂停的任务号 [root@mylinux

CC的博客 1010

【Ensp】FTP服务器设置和FTP解析

大部分的多媒体多媒体应用协议,如SIP,FTP,NetMeeting协议等,使用约定的固定端口来初始化一个控制连接,再动态地选择端口用于数据传输,并且这些端口选择是不可预测的。在防火墙设置时,可以通过ASPF(应用层报文过滤)中的Server Map表来满足多通道协议的正常工作,它正常检测应用层报文信息,并动态地根据报文内容创建和删除临时的Server Map表项,以允许其它非约定端口通过防火墙。(5)我们可以在路由器或能访问ftp服务器的设备上,通过cli命令行的方式来访问ftp服务器。

进击的小小白 1862

3分钟!教会你用 DeepSeek/Claude3.7+Cursor 快速入门AI编程(喂饭级教程)

3分钟!教会你用 DeepSeek/Claude3.7+Cursor 快速入门AI编程(喂饭级教程)

yizhen91y的博客 4722

Linux后台运行程序命令

将命令在后台运行最常见的是nohup命令,这里不赘述,具体可参考: https://www.jianshu.com/p/fcc8894923f7 而最常发生的是,我们直接运行了一个命令,但是没有使用nohup,后期又希望能够让这个程序在后台运行,即使关闭了当前的terminal,程序也能如旧运行,这个时候往往需要 ctrl+z bg disown 关于disown的细节可参考: https:/...

Eureka 1645

用友BIP培训资料-设计采购订单新增API接口开发

14.在子实体的String pkMeas = order_hhrSlave0VOJson.getString("pk_meas");Openapi路径:nccloud/api/pu/order_hhrmanage/order_hhrMaster/addAggOrder_hhrMasterVO。实现接口的开发部署,通过openAPI的test类,实现一条数据的插入。16.进入自己的Idea打开老师发的TestOpenApi并且编译完成后如下。12.编写检测是否字段中是否含有中文的方法。

m0_68497879的博客 1542

Linux中如何让进程(或正在运行的程序)到后台运行

1、在运行命令后加&即可。 eg: #sh test.sh & [1] 9073 查看:# jobs -l  [1]+ 9073 Running  sh test.sh &  2、把正在运行的程序放到后台方法: a、#sh test.sh  b、#ctrl + z (ctrl+z暂停已经运行的进程) [1]+ Stopped sh test.sh  c、bg命

hua840812的专栏 1940

ARINC429协议分析

如下表所示,ARINC429在发送一帧过程中,首先发送以START开始,以END结束,共发送32bits数据,其中0~7bits为Lable数据,9~8bits为SDI数据,10~28bits为数据,29~30bits为SSM,31bit为校验位End30292827262524校验位SSM2322212019181716DATA15141312111098SDI7654321Start。

5222

【ARM Trace32(劳特巴赫) 使用介绍 1.3 - ARM 系统调试中常见的挑战】

每一个独立的gust os或者一个OS 内部里面美格独立的进程它使用虚拟地址是可能是重叠的,比如linux中每个用户进程它的运行地址(虚拟地址)都是0x0,这时如果想去同时调试所有进程,那么必须要有个办法把这些进程区分开来,trace32 就在虚拟地址前面加前缀的方法,这个前缀称为space id, 这个space id 实际上就是processor id或者是task id, 这样就可以把一个os内部的不同的进程区分开来。如果工具和内核中的连接是可以建立起来的,那么接下来就是调试工具使用的问题了。

CodingCos的博客 1961

linux程序已经在后台运行冻结了_Linux系统如何让正在运行的程序放到后台运行...

如何让正在运行的进程放到后台执行,首先使用ctrl + z挂起正在运行的进程,再使用bg %1(任务标号具体可通过jobs -l查看)放置到后台执行,再执行disown -h %1(任务标号具体可通过jobs -l查看)忽略HUP信号,从而进程可以在后台执行1、将脚本放置到前台执行[root@al ~]# sh test.sh2、执行Ctrl + z 挂起现在的脚本,具体如下^Z[1]+ Sto...

weixin_39821718的博客 143

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Linux scp 设置nohup后台运行

Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继续运行不受影响 1.正常执行scp命令 从oradb30机器拷贝一个文件夹到oradb31机器: scp -r /u01/media/Disk1/ 192.168.1.31:/u01/media/ [root@oradb30 ~]# scp -r /u01/media/Disk1/ 192.168.1.31:/

weixin_40403318的博客 452

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Shell 内置命令深度解析

Linux Shell 内置命令是直接嵌入在 Shell 程序中的特殊命令,无需创建子进程即可执行。它们具有三大核心价值:执行速度快(避免进程创建开销)、可直接修改 Shell 状态(如环境变量、工作目录)以及能实现外部命令无法完成的操作(如作业控制)。 内置命令主要分为五大类:作业控制命令(bg、fg等)、进程/环境命令(cd、export等)、控制结构命令(if、for等)、信息查询命令(echo、read等)和杂项命令(source、exec等)。

vortex5的博客 1526

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

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

【转】使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)

一、为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处: 1:我们这边是否关机不影响日本那边的程序运行。(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼) 2:不影响计算效率 2:让程序在后台跑后,不...

weixin_30532759的博客 167

GDB Tutorial (GDB 调试教程)

GDB Tutorial (GDB 调试教程)

程永强 905

ctrl-z、fg、bg、nohup、setsid、()与&、disown、screen

My Tips: Ctrl -z -> suspend fg -> foreground bg -> background 关于ctrl-z、fg、bg、nohup、setsid、()与&a...

406

linux后台运行及任务挂后台-linux014

命令用法说明jobsjobs -l查看任务详情pid等bgbg %工作ID将工作ID任务调入后台运行fgfg %工作ID将工作ID任务调入前台运行killkill -n [ PID | %工作ID ]向任务发送信号将任务立即放入后台运行nohup忽视 SIGHUP 信号disownordisown %1忽视 SIGHUP 信号亲测disown %1有效哈,可以下班了!下班啦!

weixin_44874487的博客 1795

Linux命令-disown命令(从当前的shell中移除作业)

jobspec(可选):要移除的作业标识符,可以是一到多个。pid(可选):要移除的作业对应的进程ID,可以是一到多个。返回成功除非未开启作业控制或执行出现错误。

RisunJan的博客 1999

用什么linux命令中删除提交的作业,disown – 从当前的shell中移除作业。 - Linux 命令大全...

从当前的shell中移除作业。概要disown [-h] [-ar] [jobspec ... | pid ...]主要用途从当前shell的作业列表中移除全部作业。从当前shell的作业列表中移除指定的一到多个作业。从当前shell的作业列表中移除正在运行的作业。标记作业,使得它们在当前shell退出后也不会结束。选项-h 标记每个作业标识符,这些作业将不会在shell接收到sighup信...

weixin_39779739的博客 1030
上一篇: 强烈推荐:Vim实战手册
下一篇: Windows下调整Tomcat启动参数
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值