nohup(全称 no hang-up)是 Linux 和 Unix 系统中极为实用的命令,专门用于让进程在后台持续运行,即使关闭终端或断开连接,进程也不会被中断。下面这张图能帮助你快速理解它的工作原理。

掌握 nohup 的用法相当简单,只需按照以下步骤操作即可:
第一步,打开终端——这是基础操作,无需赘述。
接着输入
nohup,后面跟上你想运行的命令及其参数。例如,要让一个名为my_script.sh的脚本在后台执行,可以这样写:nohup ./my_script.sh默认情况下,nohup 会将输出追加到当前目录下的
nohup.out文件中。如果你希望将输出重定向到自定义文件,可以使用>符号。比如,将输出写入output.log,同时将标准错误也合并进去:nohup ./my_script.sh > output.log 2>&1 &这里的
2>&1表示将标准错误(文件描述符 2)重定向到标准输出(文件描述符 1),这样所有信息都进入同一个日志文件。最后的&是关键,它让进程真正进入后台运行模式。按下回车执行命令,你的进程就会在后台安静地运行,即使关闭终端或断开连接,它也不会停止。
想查看输出文件的内容?使用
cat命令即可:cat output.log如果需要终止这个后台进程,先用
ps命令找到它的进程 ID(PID),然后使用kill命令结束:ps aux | grep my_script.sh kill [PID]请将
[PID]替换为实际查到的进程 ID 数字。
