One - One Code All

Blog Content

nohup和&的区别

Linux-Mac   2011-09-03 20:16:25

nohup是永久执行:和用户终端没有关系,断开SSH连接都不会影响他的运行,但nohup没有后台运行的意思;

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

守护进程,使命令永久的在后台执行:nohup COMMAND &

nohup会输出日志文件:无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。


执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫)。 但是要注意, 如果你直接关掉shell后, 那么, a.out进程同样消失,对SIGHUP信号不免疫。 

nohup的意思是忽略SIGHUP信号, 所以当运行nohup ./a.out的时候, 关闭shell, 那么a.out进程还是存在的(对SIGHUP信号免疫)。 但是, 要注意, 如果你直接在shell中用Ctrl C, 那么, a.out进程也是会消失的(因为对SIGINT信号不免疫)



上一篇:unzip直接覆盖解压
下一篇:ubuntu 命令行分屏工具

The minute you think of giving up, think of the reason why you held on so long.