linux命令 - nohup命令用法

通常,在Linux/Unix下,只有守护进程在脱离终端后能继续执行,而普通进程在关闭终端时会因收到SIGHUP信号(挂起信号)而退出。因此,为了长时间运行普通进程,需要使用nohup命令。


nohup(=no hang up),使命令忽略SIGHUP信号。
语法:
nohup Command [ Arg ... ] [ & ]
描述:
以忽略SIGHUP信号的方式运行Command 命令,该命令可以有Arg参数,也可指定后台执行。
输出:
Command 的输出如果没有被重定向,则无论标准输出(stdout)还是标准错误(stderr),均重定向到nohup.out文件中。nohup.out文件缺 省写在当前目录下,如果在该目录下无写权限,则试图写到$HOME/nohup.out中,如果仍然失败,整个命令执行失败。
Command 的输出如果重定向,则写入指定的重定向文件中。如:nohup command > myout.file 2>&1 &
退出状态:
126 能查找但不能调用 Command 命令。
127 nohup 命令发生错误或找不到 Command 命令。
否则为 Command 命令的退出状态。

nohup与&的区别:
nohup只是让命令忽略SIGHUP命令而已;&则让命令在后台运行,至于该命令是否能在脱离终端后继续执行则要看进程是否是守护进程,如果不是,则需要nohup来帮忙。


你可能感兴趣的:(nohup)