nohup的使用

nohup 的用途就是让提交的命令忽略 hangup 信号。让我们先来看一下 nohup 的帮助信息

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"来更改缺省的重定向文件名。

Lawrences-MBP:~ Lawrence$ nohup python test.py &

另外,python在print时,有时会等待缓冲区满了才打印数据,这时使用 python -u 可以强制stdin,stdout和stderr变成无缓冲,立即输出。

原文地址:https://www.cnblogs.com/horo/p/7144242.html