nohup
命令在Linux中用于在用户退出系统后继续运行指定的命令或程序。它的主要作用是防止因用户注销或关闭终端而导致的进程中断。以下是nohup
命令的一些关键特性和用法:
忽略挂起信号(SIGHUP):
nohup
命令会使进程忽略这个信号,从而在用户退出后继续运行。输出重定向:
nohup
会将标准输出和标准错误输出重定向到一个名为nohup.out
的文件中。后台运行:
nohup
本身不强制进程在后台运行,但通常会结合使用&
符号来实现这一点。nohup command [arguments] &
command
是你想要运行的命令。[arguments]
是传递给命令的参数。&
符号将命令放入后台执行。假设你想在后台运行一个长时间运行的Python脚本,并且希望即使关闭终端后它也能继续运行:
nohup python my_script.py &
执行上述命令后,my_script.py
会在后台运行,并且其输出会被记录到当前目录下的nohup.out
文件中。
nohup
时,最好同时使用&
符号将进程放到后台,否则终端可能会因为等待命令完成而保持打开状态。/dev/null
:nohup command > /dev/null 2>&1 &
nohup
命令适用于任何需要在用户退出后继续运行的场景,包括但不限于定时任务、守护进程等。总之,nohup
是一个非常有用的工具,可以帮助你在Linux系统中实现进程的持久运行。