linux中后台进程管理

本文简述Linux中常用的几个后台进程管理命令:
& bg fg jobs nohup disown screen等
简单整理,后来发现一篇介绍更为详细的博文,推荐阅读–https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
1)命令放后台执行
& ,如 sh test.sh & —可带上disown (防止HUP信号中断造成执行失败,disown是bash命令,部分ksh的如ubuntu中没有此命令),sh test.sh & disown
2)正在运行的程序放后台
先ctrl+z —将前台命令放到后台,暂停该命令
在bg —bg %jobnumber 将后台暂停的命令变成后台继续执行
3)查看后台运行的程序
jobs —会有一个jobnumber
4)后台程序恢复到前台
fg —-fg %jobnumber
5) nohup —进程放到后台执行,不收hup信号中断影响
常见用法 nohup ./filename.sh > filename.log 2>&1 &
nohup 保证进程不被hup信号中断影响,放到后台执行,日志输出,且只有标准输出,没有错误输出
6) disown (disown是bash命令,部分ksh的如ubuntu中没有此命令,用法disown -h %jobnumber)
亡羊补牢,为没有使用nohup与setsid的进程加上忽略HUP信号的功能。
使用方法:
将当前正在前台运行的进程放到后台运行(ctrl+z和bg);
然后执行disown -h %{jobid} //这里的{jobid}是通过jobs命令中看到的进程前[]中的数字。
7)screen –虚拟会话中端,不收HUP信号干扰
screen是建立一个新的全屏虚拟会话终端,这个会话只有在手动输入exit的时候才会退出,在这个会话里执行的命令不用担心HUP信号会对我们的进程造成影响,因此也不用给每个命令前都加上“nohup”或“setsid”了,非常适合我们有规划的执行大量的后台任务,可以非常方便的让我们对这些后台任务进行管理。
使用方法:
screen //立即创建并进入一个会话。
screen -dmS {name} //建立一个处于断开模式下的会话,并根据我们的需要指定其会话名称。
screen -list //列出所有会话。
screen -r {name} //进入指定会话。
ctrl +ad //输入快捷键ctrl +a和d,可暂时退出当前会话。
exit //进入指定会话后执行exit即可关闭该会话。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值