17站长网 网站首页 操作系统 Centos 查看内容

linux系统让进程在后台运行的方法

2022-11-19 09:48| 查看: 850 |来源: 互联网

linux系统让进程在后台运行的方法,在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ./test.sh & [1] 17208 $ jobs -l [1]+ 172

linux系统让进程在后台运行的方法,在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

以上linux系统让进程在后台运行的方法就是小编为大家收集整理的全部内容了,希望对大家有所帮助。如果您喜欢这篇文章,可以收藏或分享给您的小伙伴们吧!欢迎持续关注我们的后续更新。

本文最后更新于 2022-11-19 09:48,某些文章具有时效性,若有错误或已失效,请在网站留言或联系站长:17tui@17tui.com
·END·
站长网微信号:w17tui,关注站长、创业、关注互联网人 - 互联网创业者营销服务中心

免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!

17站长网微信二维码

始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!

扫一扫,关注站长网微信

大家都在看

  • 个性化搜索结果的展现,最近在不断的应用到百度搜索结果中,从某种意义上来讲,对于SEO排名,存在一定的挑战。...

    SEO优化 2022-12-09
  • 鸿蒙OS应用横条怎么关闭?在鸿蒙OS系统的图标下方,我们可以通过白色的提示条上滑出服务卡片,那不想要提示条该怎么关闭呢,有很多小伙伴还不是很清楚, 小编下 ......

    鸿蒙系统 2022-12-09
  • 手机中一些特殊的设置功能,需要在开发人员选项中设置,无论什么系统的手机都是有开发者选项的, 在安卓系统中可以进入开发者选项设置一些自己的东西,那鸿蒙开 ......

    鸿蒙系统 2022-12-09
  • 鸿蒙系统中有很多照片,想要删除无效照片,比如相似的照片,该怎么删除呢?鸿蒙系统快速找出相似照片的方法:运行手机管理,打开清理加速,进入图片,进入相似图 ......

    鸿蒙系统 2022-12-09
  • 在Mac OS X中,当我们选中一个文件想要以某种方式打开该文件的时候,可以选择 右键-打开方式,这里会提示可能适用于打开该文件的软件。不过有的时候,这个“打开 ......

    苹果MAC 2022-12-09
  • 第一步:打开系统偏好设置。第二步:选择“日期与时间选项”。第三步:去掉系统默认的自动设置时间选项。第四步:改成自己想要的时间。第五步:点击储存选项,时 ......

    苹果MAC 2022-12-09
  • 第一种方法:Command+M只能最小化一个窗口。第二种方法:把程序快速隐藏,切换到桌面,按F11。第三种方法:换桌面1 桌面2 可以用command +1或者2来切换,实现窗 ......

    苹果MAC 2022-12-09
  • 第一步:打开系统偏好设置。第二步:选择安全与隐私选项,点击左下角的解锁按钮。第三步:输入用户密码。第四步:然后勾选“在屏幕锁定时显示信息”,并直接设定 ......

    苹果MAC 2022-12-09
  • 第一步:你得认识下图里的《活动监视器》,它是 OS X 自带的系统应用,可用来监视处理器的活动、硬盘使用率、虚拟内存和网络活动和应用程序状态。第二步:打开《 ......

    苹果MAC 2022-12-09
  • 怎么查看mac系统版本?怎么才能显示自己苹果电脑当前系统的版本信息呢?难道还需要借助第三方软件么?那当然是不需要的,因为Mac电脑系统自带有这个功能,非常的 ......

    苹果MAC 2022-12-09
  • 很多时候我们都需要给网页截图,可是直接截图又会造成图片显示不全。当大家想给网页截图但是网页太长超出屏幕的时候,完全没有必要购买那些坑爹的网页快照软件, ......

    苹果MAC 2022-12-09
  • 第一步:准备图片。唯一需要注意的是,如果要想获得最佳效果,需要分别准备一张你屏幕分辨率(点这里查询)80*95比例的图片,和160*190比例的图片来替换, 才能实 ......

    苹果MAC 2022-12-09
  • 第一步:打开系统偏好设置,选择键盘选项。第二步:选择键盘选项,选择设置选项,里面就有设置选项。注意事项:不是每一款都有的,15寸的以上的pro都有,macbook ......

    苹果MAC 2022-12-09
  • 第一种作用:按 delete 键,实现 Windows 键盘上退格键的功能,也就是删除光标之前的一个字符(默认);第二种作用:按 fn+delete 键,删除光标之后的一个字符; ......

    苹果MAC 2022-12-09
  • 如果你在玩Mac电脑的时候突然死机了怎么办?Mac如何强制关机?mac又如何强制重启呢?估计有很多人就会看着屏幕发呆,然后就直接去按电源开关了,可是你有没有想 ......

    苹果MAC 2022-12-09
  • 我们知道Mac Mini用户和Mac Pro用户是需要连接显示器的,一般情况下都是要一个HDMI高清线转接到显示器,这样你的显示屏才能够正常。同时新款的MacBook Pro也是可 ......

    苹果MAC 2022-12-09
  • 很多时候,无论是Windows还是Mac OS系统一些重要的文件夹和文件都是要被隐藏起来的,以防止用户因为误操作修改或者删除而导致系统或者软件的损坏。但是很多时候 ......

    苹果MAC 2022-12-09
  • 第一种方法:按住空格键左边两个键+esc,出现和Win上面一样功能的系统应用管理器,强制退出程序,这个只能解决在你使用程序时候电脑死机的情况。第二种方法:mac ......

    苹果MAC 2022-12-09
  • 设置开机密码后不仅可以保证我们的电脑安全,还能保护我们的个人隐私,那苹果电脑怎么设置开机密码,今天小编就为大家带来设置开机密码的方法。Mac怎么设置开机 ......

    苹果MAC 2022-12-09
  • 第一步:要设定锁定输入密码的设置,进入‘系统偏好设置’‘安全性与隐私’,将选项‘进入睡眠或开始屏幕保护程序后’打勾,选‘立即’。第二步:到‘launchpad ......

    苹果MAC 2022-12-09
  • mac字体安装教程来咯~大家可以通过下文了解一下mac系统字体下载安装步骤,如果你想为自己的mac系统安装更加丰富的字体但是不会操作的话,就请参考下文步骤吧~第 ......

    苹果MAC 2022-12-09
  • Mac如何免费升级系统?如何做才能安全的给Mac系统升级呢?这篇文章对于想省钱的用户那就是非常实用的了,接下来请仔细的阅读Mac免费升级系统流程。第一步:升级 ......

    苹果MAC 2022-12-09
  • 日前,京东方面宣布,京东健康携手中国非处方药物协会,与国内外数十家知名药企共同发出倡议,号召药品企业认真履行社会责任,加强药品质量管理和价格自律,全力 ......

    网络热点 2022-12-08
  • 为进一步展现百度内容生态对于网络侵权的违规行为“零容忍”态度,根据国家及上级监管单位统一部署要求,严格落实企业主体责任,百度内容平台定期开展自查和治理 ......

    搜索引擎 2022-12-08
  • 据杭州互联网法院消息,近日,杭州互联网法院就审理了一起因“AI换脸”App利用深度合成算法侵害他人肖像权的案件,最终判决App开发者赔礼道歉并赔偿损失共5000元 ......

    网络热点 2022-12-08
  • 基础用法 总结说来: 单引号任何情况下都只表示引号内自身的字符。也就是说,单引号内的内容不会进行变量的代换与字符的转义。而在双引号中,则允许进行变量代换和字符转义。在对变量进行代换和字符进行转义的判断上...

    powershell教程 2022-12-08
  • 上一篇文章中介绍了WMI的基础内容,主要讲了WMI的属性值的查看,文中还提到,WMI不仅具有属性,还具有方法。这一节就来具体讲一下如何调用WMI对象方法。 通过查看WMI对象,可以发现有不少的类同时具有属性和方法。例...

    powershell教程 2022-12-08
  • 我记得在xp时代,经常使用的工具有一个叫做WMI Administrative Tools,是微软官方提供的用来查看、编辑WMI对象的,只是现在好似不支持新的系统了。但是,在Win7、Server 2008下,这些功能都可以方便的通过PowerShell...

    powershell教程 2022-12-08
  • 筛选器是函数的一种特殊形式。 定义筛选器: Filter(关键字) 筛选器名 (参数) {代码} 与定义函数不同的是,函数使用"$input"变量来从管道符中获取信息,而筛选器使用的是变量"$_"。在对数据的处理方面,函数与筛选器...

    powershell教程 2022-12-08
  • 一个脚本的功能可能有很多,但是并非都是通过一段代码来完成的。在一个出色的脚本中,实现各个功能代码的独立性,可以保证这个脚本具有高可用性和易维护性,并且当我们改进或删减功能时只需删除对应的代码块即可。通...

    powershell教程 2022-12-08
返回顶部