nohup
(no hang up)是一个在Unix和类Unix系统(如Linux)中常用的命令,其主要用途是在你关闭终端或者断开与服务器的连接后,让运行的进程继续执行。以下是在Ubuntu中使用nohup
的一些常见场景:
nohup
可以确保这种情况发生。nohup
可以防止这种情况发生,即使你的SSH会话已经结束。nohup
命令会忽略SIGHUP信号,从而让进程继续运行。nohup
命令会将输出重定向到一个名为nohup.out
的文件中(除非你指定了其他输出文件)。这对于跟踪长时间运行的进程的输出非常有用,因为你可以轻松地检查这个文件以查看进程的日志信息。要使用nohup
命令,你可以在终端中输入nohup
,后跟你想要运行的命令。例如:
nohup python my_script.py &
这条命令会运行my_script.py
脚本,并将输出重定向到nohup.out
文件中。&
符号表示将进程放入后台运行。
请注意,虽然nohup
在很多情况下都很有用,但它并不适用于所有类型的进程。例如,有些进程可能会因为SIGHUP信号而需要特殊的处理才能忽略它。此外,nohup
命令只会忽略SIGHUP信号,对于其他类型的信号(如SIGTERM或SIGKILL),进程仍然可能会被终止。