56星座屋
当前位置: 首页 星座百科

linux程序在后台运行命令(Linux下几种运行后台任务的方法)

时间:2023-06-04 作者: 小编 阅读量: 1 栏目名: 星座百科

“今天就给大家介绍linux中几种后台任务的执行方法避免上述问题。1.问题的引入程序员最不能容忍的是在使用终端的时候往往因为网络,关闭屏幕,执行CTRLC等原因造成ssh断开造成正在运行程序退出,使得我们的工作功亏一篑。其背后的主要原因在于上述的相关操作,shell默认会发送中断信号给该终端session关联的进程,从而导致进程跟随终端退出,为了弄清这个问题我们首先要了解两种中断信号:1)sigi

今天就给大家介绍linux中几种后台任务的执行方法避免上述问题。

1.问题的引入

程序员最不能容忍的是在使用终端的时候往往因为网络,关闭屏幕,执行CTRL C等原因造成ssh断开造成正在运行程序退出,使得我们的工作功亏一篑。

其背后的主要原因在于上述的相关操作,shell默认会发送中断信号给该终端session关联的进程,从而导致进程跟随终端退出,为了弄清这个问题我们首先要了解两种中断信号:

1)sigint:signal interrupt,ctrl c会发送此信号,主动关闭程序

2)SIGHUP: signal hang up,关闭终端,网络断线,关闭屏幕会发送此挂断信号。

今天就给大家介绍linux中几种后台任务的执行方法避免上述问题。

2 & 符号

这是一种把 &放在执行命令最后,使启动的程序忽略sigint信号,此时执行ctrl c关闭就不会关闭此进程,但是当屏幕关闭,断网仍然会造成进程退出。

sh test.sh &

3.nohup指令

nohup(no hang up),意思就是不挂断运行,用nohup运行命令可以使命令永久执行下去,和用户终端没有关系,断开SSH不影响运行,nohup捕获了SIGHUP,并做了忽略处理,因此当屏幕关闭,断网等造成ssh中断时进程不会退出。但是ctrl c可以关闭关闭该进程。因此大多数情况同时使用nohup和&启动的程序,ctrl c和关闭终端都无法关闭。在缺省情况下所有输出都被重定向到一个名为nohup.out的文件中。

nohup指令基本使用格式:

nohup Command \[ Arg ... \] \[ & \]

举例

后台不中断执行./test.sh,stdout输出给out.log,stderr输出给err.log

nohup ./test.sh > out.log 2>err.log&

相关的数字含义如下:

    0 – stdin (standard input),1 – stdout (standard output),显然 nohup command > out.log 等价于 nohup command 1> out.log,是缺省行为。2 – stderr (standard error)

可能你也会见到这种写法,其含义是把stderr也重定向给stdin

nohup ./test.sh > out.log 2>&1&

4.ctrlz、jobs、fg、bg

如果我们程序在启动的时候并没有使用&,nohup怎么办呢,难道我们需要先执行ctrlc将在前台执行的进程终止执行再重新启动吗,显然有好的方法!

4.1 ctrlz

将一个正在前台执行的作业进程放到后台,并且暂停,用术语讲就是挂起,执行后如下:

[1]Stopped ./test.sh

4.2 jobs

查看当前有多少在后台运行的命令,[jobnumber] 就是作业号。

jobs[1]Stopped ./test.sh[2]Running ./test2.sh &

4.3 bg

将后台中暂停(挂起)的作业进程继续运行,例如把1号作业(./test.sh) 放到后台运行,注意看已经带了&

bg 1[1]./test.sh&

4.4 fg

将后台中的作业进程调至前台继续运行,例如把2号作业(./test2.sh &)调至前台运行

fg 2./test2.sh

5.screen命令

5.1 介绍

如果说上面的方法是通过linux 相关本身命令实现了前后台任务调度,那么screen就提供了另外一种思路。

不说人话的版本:GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

说人话的版本: 我们可以粗略地认为screen是一个虚拟终端软件,直接在linux系统里面启动了另外一个后台程序接管(维持)了你的终端会话,当你直接连接的终端ssh断开时他仍然让程序认为你的ssh持续链接着,这样也就不会出现进程接收到中断信号而退出。

5.2 安装

yum install screen

5.3 使用

1)新建会话

screen -S yourname -> 新建一个叫yourname的session

2) 列出当前所有的session

screen -ls

3)恢复会话(回到yourname这个session)

screen -r yourname

4) detach某个session

screen -d yourname -> 远程detach某个session screen -d -r yourname -> 结束当前session并回到yourname这个session

5)删除会话

screen -S pid-X quit

    推荐阅读
  • 内蒙古艺术学院南校区在哪个区(内蒙古艺术学院新校区开工)

    正北方网讯 10月12日上午,内蒙古艺术学院新校区开工仪式在和林格尔新区举行。新校区总占地面积685亩,按照总体规划、分期建设的思路,一期规划建设用地485亩,计划于2022年建成投用,新校区建成后将成为内蒙古艺术学院的主校区。

  • 第9批表扬名单(关于第六批江西省及时奖励名单的公示)

    2020年被中宣部授予“时代楷模”称号,被应急管理部记集体一等功。自2020年1月21日发现首例确诊病例,用14天时间初步遏制了疫情蔓延势头,用27天时间将本土每日新增病例控制在个位数以内,用51天时间将住院确诊病例全部清零。2020年12月,全省开发区改革和创新发展现场推进大会在信丰召开,这是该会议首次在县级行政区召开。

  • 二十部顶级耐看的小说(八本完本多年的极品小说)

    卫小北心头莫名隐隐浮现出一种不安。此时村落里正漫无目的游荡的鱼人,卫小北正巧认识。而卫小北之所以认识里面那些鱼人的原因就在于它们身上的伤口!在生日之夜,他忽然身体自燃。原本灾难般的九阳之躯,在这成为千年不遇的九阳玄脉。东方涅灭的遗命是:一,阳顶天成为阴阳宗传人,阴阳宗全力培养他。

  • 网速慢是不是只需要换个路由器(别再埋怨手机网速卡顿了)

    就是是产品渲染图和型号以及卖点总结:双频千兆Wi-Fi6背面略显繁杂,主要是产品亮点以及功能介绍。主要是四个:Wi-Fi6极致体验、强劲信号、双频OFDMA和支持Mesh组网开包装摆盘,配件不多,全部组件就是:路由器本体电源千兆网线说明书。正面是logo和指示灯,两侧和背后都是散热孔设计。4根天线全部设计在顶部,不是常见的圆柱体,而是长条状,不用的时候可以折下来,方便收纳。作为主打无线的路由器,三个千兆接口应该也够用了。

  • 孕吐严重怎么办(孕吐严重怎么办一点东西都不能吃)

    补充维生素B群怀孕初期最重要的维生素为叶酸,建议每日叶酸的补充量为400至600微克,可咨询妇产科医师并请医师开立。此外,维生素B6是人体脂肪和糖类代谢的必需物质,也能有效减缓害喜症状,一般均衡饮食者可免去额外补充。可以先摄取含铁较高的食物,或先补充叶酸即可,等害喜孕吐的症状改善后再服用孕妇专用综合维生素。若有缺铁性贫血情况的准妈妈,则可遵行医嘱,在饭后补充铁剂,减缓不适发生机率。

  • 世界无车日的宗旨是(世界无车日简介)

    世界无车日的宗旨是世界无车日的宗旨是:保护环境、倡导绿色出行、发展节能型和新能源汽车已经成为全球共识。2000年2月,欧盟委员会及欧盟的9个成员国确定9月22日为“无车日”。旨在改善城市空气质量、减少城市交通压力和改变城市交通观念的环保活动。截至2006年,全世界已有37个国家的近1500个城镇参与其中。

  • 木兰诗作文题(木兰诗乐府诗集南北朝)

    女亦无所思,女亦无所忆。昨夜见军帖,可汗大点兵,军书十二卷,卷卷有爷名。阿爷无大儿,木兰无长兄,愿为市鞍马,从此替爷征。父亲没有大儿子,我没有兄长,木兰愿意为此到集市上去买马鞍和马匹,从此开始替代父亲去征战。在集市各处购买骏马、马鞍、鞍下的垫子、马嚼子、缰绳和马鞭。给木兰记了很大的功勋,赏赐了很多的财物。胡,古代对北方少数民族的称呼。尚书省是古代朝廷中管理国家政事的机关。

  • 小苹果歌词完整版(筷子兄弟演唱)

    下面更多详细答案一起来看看吧!

  • 群聊只有群主可以踢人吗(不是群主也能踢人)

    不是群主也能踢人相信每个人的微信里都置顶了几个群,家人群、工作群、同事群……除了在上面聊天、抢红包,微信群聊还有哪些好玩的操作?今天爱范君就为大家盘点几个群聊整人指南!让你在群聊里活跃气氛,脱颖而出▲图片来自Giph。

  • 游客脚崴了怎么办(五一出行爬山崴脚怎么办)

    科普小知识【五一出行爬山崴脚怎么办?教你三步处理】五一小长假期间,如果爬山旅游不幸扭伤了脚,应该如何处理呢?专家建议使用“三步法”:①制动,即停止着地活动避免用伤脚走路;②冰敷,立即用冰袋对损伤的踝关节冷敷;③就医,立即到就近医院就诊。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。