您的位置:首页 > 运维架构 > Linux

Linux后台执行程序

2017-07-28 20:59 162 查看
https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html

http://www.jianshu.com/p/3246be7c9dde

https://linux.cn/article-7918-1.html

1、nohup

nohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。

nohup ping www.ibm.com &        ##输出内容会保存到当前目录下 nohup.out 文件中

nohup ping www.ibm.com  &>/dev/null &     ##丢掉输出内容


2、setsid

nohup 无疑能通过忽略 HUP 信号来使我们的进程避免中途被中断,但如果我们换个角度思考,如果我们的进程不属于接受 HUP 信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点。
setsid ping www.ibm.com


3、&

这里还有一个关于 subshell 的小技巧。我们知道,将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能,我们现在要讨论的就是其中之一。

当我们将"&"也放入“()”内之后,我们就会发现所提交的作业并不在作业列表中,也就是说,是无法通过
jobs
来查看的。让我们来看看为什么这样就能躲过
HUP 信号的影响吧。

(ping www.ibm.com &)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: