今天执行程序进行测试,脚本nohup.sh的内容为:
/home/oracle/test>% cat nohup.sh
i=1
while [ $i -le 100000 ]
do
echo $i >> result.txt
i=` expr $i + 1 `
done
使用命令sh nohup.sh &后,发现程序在执行,于是我关闭当前会话,检测程序仍然在后台执行,于是我索性将本地机器重新启动,发现程序仍旧执行,我怎么感觉一旦执行了命令sh nohup.sh &后就分配了后台进行,即使你客户端断掉,也应该是在执行的,不知道我的想法是否正确?请高手指点
------解决方案--------------------------------------------------------
是的,你在服务器上运行的程序,让其后台运行,你关掉终端也会继续运行,
------解决方案--------------------------------------------------------
单是&, 后台运行,你关掉终端会停止运行
nohup command & 后台运行,你关掉终端也会继续运行
------解决方案--------------------------------------------------------
bingo
nohup就是logout之后,程序还是继续运行
------解决方案--------------------------------------------------------
http://sookk8.blog.51cto.com/455855/197871/
一个很明显的区别是,&得后台,是终端关闭,自己也会退出,而nohup 则相当于一个独立的后台进程。