nohup
是一个 Unix/Linux 命令,用于在后台运行一个命令或脚本,与终端会话分离,并且免受通常在关闭终端时发送给进程的挂起信号(SIGHUP)的影响。这使得命令可以继续运行,即使您退出登录或关闭终端窗口。
nohup
命令的基本语法如下:
nohup COMMAND [ARGUMENTS] &
以下是逐步解释:
nohup
:调用 nohup
命令。COMMAND
:实际要在后台运行的命令或脚本。[ARGUMENTS]
:命令运行所需的任何参数或选项。&
:这个在结尾的 ampersand 符号用于将命令放入后台,这样您可以在命令执行的同时继续使用终端。以下是使用 nohup
在后台运行一个名为 myscript.py
的 Python 脚本的示例:
nohup python3 myscript.py &
运行此命令后,myscript.py
将在后台运行。脚本的输出将被重定向到一个名为 nohup.out
的文件,该文件将保存在您执行 nohup
命令的当前目录中。
您还可以通过使用 >
重定向操作符来显式指定输出文件。例如:
nohup python3 myscript.py > output.log &
这将把脚本的输出重定向到当前目录中的名为 output.log
的文件。
要检查命令是否仍在运行,可以使用 ps
或 htop
等工具。要将后台进程恢复到前台或与之交互,可以使用 fg
命令。
请记住,nohup
命令特别适用于您希望在退出登录或关闭终端会话后继续运行的长时间运行进程。