nohup
是一个用于在 Unix/Linux 系统中运行命令时的工具,它允许在终端关闭后继续运行命令,同时将输出重定向到一个文件。nohup
的名称来源于"no hang up",即使终端挂起,也能继续运行。
基本用法:
nohup command [options] > output.log 2>&1 &
command
: 要运行的命令。[options]
: 命令的参数。> output.log 2>&1
: 将标准输出和标准错误都重定向到一个文件,以便后续查看命令的输出。&
: 将命令放入后台运行。
示例:
nohup ./your_script.sh > output.log 2>&1 &
这个命令会运行 your_script.sh
脚本,并将输出记录到 output.log
文件中。&
符号使命令在后台运行,即使你关闭终端,脚本也会继续执行。
使用注意事项:
-
nohup.out 文件: 默认情况下,
nohup
会将输出重定向到nohup.out
文件。你可以使用重定向命令来将输出写入你指定的文件,以便更好地管理输出。 -
后台运行: 使用
&
将命令放入后台,这样你可以继续使用终端而不影响命令的执行。如果需要查看命令的输出,可以通过查看指定的输出文件来实现。 -
注意信号:
nohup
不会阻止进程接收信号,因此通过kill
命令仍然可以终止该进程。如果需要更严格的后台运行,可以考虑使用disown
或其他类似工具。 -
注意权限: 确保脚本文件有执行权限,可以使用
chmod +x your_script.sh
进行赋予执行权限。
nohup
是在后台运行命令时一个很有用的工具,尤其在需要执行长时间运行的任务时。
https://www.runoob.com/linux/linux-comm-nohup.html