详解Linux的nohup和&用法和区别
用 & 在程序结尾来让程序在后台运行
./start.sh &
- 在shell中用ctrl C, 那么start.sh照样运行。
- 关掉shell后, start.sh进程消失。
nohup:不挂断地运行命令(忽略SIGHUP信号 )
nohup ./start.sh
- 在shell中用Ctrl C, 那么start.sh进程也是会消失的(因为对SIGINT信号不免疫)
- 关闭shell, 那么start.sh进程还是存在的(对SIGHUP信号免疫)。
&和nohup没有任何关系
要让进程真正不受shell中Ctrl C和shell关闭的影响,可以用:
nohup ./start.sh &