nohup
(no hang-up)命令用于在Linux和Unix系统中运行一个不受挂起信号影响的进程。当你使用nohup
命令运行一个程序时,它会忽略所有的挂起信号,这样即使你关闭终端或者断开连接,程序也会继续运行。
默认情况下,nohup
命令会将程序的标准输出(stdout)重定向到一个名为nohup.out
的文件中。然而,错误输出(stderr)仍然会显示在终端上。如果你想将错误输出也重定向到一个文件中,可以使用以下语法:
nohup your_command > output_file 2>&1 &
这里的>
表示将标准输出重定向到output_file
文件中,2>&1
表示将标准错误输出(stderr)重定向到标准输出(stdout),&
表示将整个命令放入后台运行。
例如,如果你想运行一个名为my_script.sh
的脚本,并将标准输出和错误输出都重定向到output.log
文件中,可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
这样,无论是标准输出还是错误输出,都会被写入到output.log
文件中,而不会显示在终端上。