nohup 的用途就是让提交的命令忽略 hangup 信号。让咱们先来看一下 nohup 的帮助信息python
NOHUP(1) BSD General Commands Manual NOHUP(1) NAME nohup -- invoke a utility immune to hangups SYNOPSIS nohup [--] utility [arguments] DESCRIPTION The nohup utility invokes utility with its arguments and at this time sets the signal SIGHUP to be ignored. If the standard output is a terminal, the standard output is appended to the file nohup.out in the current directory. If stan- dard error is a terminal, it is directed to the same place as the standard output. Some shells may provide a builtin nohup command which is similar or identical to this utility. Consult the builtin(1) manual page.
可见,nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 便可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。通常咱们可在结尾加上"&"来将命令同时放入后台运行,也可用">filename 2>&1"来更改缺省的重定向文件名。shell
Lawrences-MBP:~ Lawrence$ nohup python test.py &
另外,python在print时,有时会等待缓冲区满了才打印数据,这时使用 python -u 能够强制stdin,stdout和stderr变成无缓冲,当即输出。app