载风月|关闭终端,程序后台运行,我有5种方法你呢?,Linux运维之
前言我们在使用linux时 , 会经常要把一个程序放到后台运行 , 这时候就需要在程序的最后使用【&】符号 , 但是当直接关闭这个终端时 , 程序就会退出 , 下面我介绍5种方法 , 在关闭终端后程序还继续运行 。
用法:nohupCommand[Arg…][&]
$ps-few|greptest.sh
从上面的可以看出 , 我们运行的test.sh的父进程变成了【PID1】. , 由linux主进程接管 。
setsidnohup是忽略SIGHUP信号 , 有没其他的思路吗?
setip命令可以重新打开了会话 , 继承了父进程组的ID , 脱离了父进程的控制 。 从下图可以看到 , test.sh脚本的父进程已经是init1 , 此时不管关闭还是退出终端 , 已经和后台的程序没有关系了 。
$setsidshtest.sh
这是因为使用exit命令退出终端时不会向终端所属任务发SIGHUP信号 , 是huponexit配置项控制的 , 默认是off , 可以使用shopt命令查看 。
将huponexit配置成on , 再次使用exit命令退出 , 所属的任务就会跟随退出 。
[root@api~]#shopt-shuponexit
[root@api~]#shopt|grephuponexit
huponexiton
traptrap命令linux内置的命令 , 接收到指定信号时将要采取的行动 , 后是要处理的信号名 , 常见的信号如下:
trap""HUP
whiletrue;do
date>>/root/test.txt
sleep1
done
screenLinuxscreen命令用于多重视窗管理程序 , 它可以创建一个终端 , 让程序在里面运行
screenshtest.sh&
推荐阅读
- 腾讯微博|永久关闭!马化腾也很无奈,曾拥有3亿用户的它还是没能活下来
- 载风月|检验虚假的友谊?网友直呼这功能期待很久了,微信迎来新功能
- 科技资讯眺望|官宣!腾讯微博将于9月28日晚12点关闭
- 外星人|青海最神秘的景点,曾被传是外星人遗址,今已被关闭禁止入内
- 锋潮评测室|华为真无线降噪耳机官宣
- 载风月|无需登陆即可使用vip功能,全能扫描王
- 快科技|Pro:降噪性能或迎重大升级,华为终端官微宣布华为FreeBuds
- 晨报精选|Store,这个功能不关闭,每个月都会偷偷扣钱!,自查支付宝/微信/App
- 武汉微新闻|行云公司20余款终端产品和行业应用解决方案在京亮相
- 科技女王范儿|你正在经历的可能不只是一场食物盛宴,大跌后的关闭充提