nohup
(no hang-up)命令在 Linux 系统中用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行
-
使用
nohup
命令时,通常需要将其与命令和参数一起使用,例如:nohup command &
。这将在后台运行command
,并将输出重定向到名为nohup.out
的文件。 -
如果您希望将输出重定向到其他文件,可以使用以下语法:
nohup command > output_file &
。这将把输出保存到指定的output_file
,而不是默认的nohup.out
文件。 -
如果您希望同时将输出和错误信息重定向到同一个文件,可以使用以下语法:
nohup command > output_file 2>&1 &
。这将把标准输出和错误信息都重定向到output_file
。 -
使用
nohup
命令时,建议使用&
将程序放入后台运行,否则nohup
会等待命令执行完毕才退出。 -
如果您需要在后台运行的程序中监听某个端口,可以使用
disown
命令将其从当前 shell 的作业列表中移除,以防止在关闭终端时终止程序。例如:nohup command & disown
。 -
请注意,
nohup
命令并不能保证程序在所有情况下都能在后台稳定运行。例如,当系统资源不足或遇到其他问题时,程序可能会终止。因此,建议定期检查程序的运行状态。 -
如果您需要在系统启动时自动运行
nohup
命令,可以将命令添加到系统的启动脚本中,例如/etc/rc.local
或使用systemd
创建自定义服务。
总之,在使用 nohup
命令时,请确保正确地重定向输出和错误信息,并在需要时将程序放入后台运行。同时,注意监控程序的运行状态,以确保其在后台稳定运行。