nohup(no hang-up 的缩写)是 Linux 和 Unix 系统中一个非常实用的命令,专门用来让进程在后台持续运行,哪怕你关闭终端或者断开连接,进程也不会被中断。下面这张图可以帮你快速理解它的工作原理。

使用起来其实很简单,跟着这几个步骤走就行:
第一步,打开终端,没什么好说的,直接进入就行。
然后输入
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]换成实际查到的数字。