nohup
(no hang up)是一个在Unix和Linux系统中用于运行命令的实用程序,它可以使进程忽略挂起(SIGHUP)信号。当您在终端中启动一个进程时,该进程通常与终端会话关联。如果终端会话关闭或挂起,与该会话关联的所有进程通常也会收到SIGHUP信号并终止。这就是为什么有时进程会在您关闭终端后停止运行的原因。
使用nohup
命令启动进程时,它会忽略SIGHUP信号,从而使进程在终端会话关闭后继续运行。这对于需要在后台长时间运行的进程非常有用,因为它们不会因为意外关闭终端而中断。
例如,如果您想要在后台运行一个名为my_script.sh
的脚本,可以使用以下命令:
nohup ./my_script.sh &
这里,&
符号将进程放入后台运行。nohup
命令确保即使您关闭终端,脚本也会继续运行。此外,nohup
还会将进程的输出重定向到一个名为nohup.out
的文件中,以便您可以稍后查看输出。
总之,使用nohup
可以防止进程被挂起,因为它使进程忽略SIGHUP信号,从而在终端会话关闭后继续运行。