nohup
(no hang-up的缩写)命令在CentOS和其他Linux系统中用于在用户退出登录后继续运行指定的命令或程序。它的主要作用是使进程忽略挂起(SIGHUP)信号,从而在用户断开SSH连接或其他终端会话时保持进程运行。
当你在终端中运行一个命令时,该命令通常会受到终端会话的控制。如果你关闭终端或断开SSH连接,该命令通常会被终止。但是,有时你可能希望命令在后台持续运行,即使你离开了终端。这时,你可以使用nohup
命令来实现这一目的。
使用nohup
命令的基本语法如下:
nohup command-to-run &
其中,command-to-run
是你希望运行的命令,&
符号将命令放入后台运行。nohup
会自动将命令的输出重定向到一个名为nohup.out
的文件中,除非你指定了其他输出文件。
例如,如果你想在后台运行一个名为my_script.sh
的脚本,并将输出重定向到output.log
文件,你可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
这里,2>&1
表示将标准错误(stderr)重定向到标准输出(stdout),这样错误信息也会被写入output.log
文件。