nohup和&的区别

转自:nohup和&的区别 http://bbs.nanjimao.com/thread-470-1-1.html (出处: 南极猫) 

nohup是永久执行

&是指在后台运行

运行 nohup --help
Run COMMAND, ignoring hangup signals. 可以看到是“运行命令,忽略挂起信号”

就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出

那么,我们可以巧妙的吧他们结合起来用就是
nohup COMMAND &
这样就能使命令永久的在后台执行

举个例子nohup tail -f nohup.out
然后退出登录,再连接,用ps -ef 你会还能看到在运行
ps -ef
root      3457     1  0 18:20 ?        00:00:00 tail -f nohup.out

另外,nohup执行后,会产生日子文件,把命令的执行中的消息保存到这个文件中,一般在当前目录下,如果当前目录不可写,那么自动保存到执行这个命令的用户的home目录下,例如root的话就保存在/root/下

这个我们常在运行命令和脚本中常用到的

 

posted @ 2017-08-27 16:24  四叶草Grass  阅读(401)  评论(0编辑  收藏  举报