nohup
(no hang up)在Linux中是一个非常有用的命令行实用程序,其主要用途是在后台运行程序,即使关闭终端后,程序也会继续运行。以下是nohup
在Linux中的主要用途:
- 在后台运行程序:当你在终端中运行一个程序时,如果关闭终端,该程序通常会停止运行。使用
nohup
命令可以在后台运行程序,即使关闭终端后,程序也会继续运行。这对于需要长时间运行的程序或脚本非常有用。 - 忽略挂起(SIGHUP)信号:
nohup
命令可以使程序忽略挂起(SIGHUP)信号。当终端关闭时,系统通常会向运行在其中的进程发送SIGHUP信号,以通知它们终止。通过使用nohup
命令,你可以防止程序因收到SIGHUP信号而终止。 - 重定向输出:
nohup
命令默认将程序的输出重定向到名为nohup.out
的文件中。你可以通过在nohup
命令后添加>
符号来指定输出文件,例如nohup command > output.log
。这样,程序的输出将被保存到指定的文件中,而不是默认的nohup.out
文件中。 - 在系统重启后保留进程:
nohup
命令创建的进程不会在系统重启后自动终止。这意味着,即使系统重新启动,之前使用nohup
命令运行的程序将继续运行。这对于需要确保某些服务在系统重启后仍然可用的场景非常有用。
总之,nohup
命令在Linux中非常实用,它可以帮助你在后台运行程序、忽略挂起信号、重定向输出以及在系统重启后保留进程。