例如我这样让其放置后台
nohup php index.php &
然后 jobs
jobs
[3] - running nohup /home/pubsrv/php-5.6.15/bin/php ~/tools/douban/localBanBrush.php 2>&1
[4] + running nohup /home/pubsrv/php-5.6.15/bin/php ~/tools/douban/localBanBrush.php 2>&1
现在都还在,可是我退出终端后 ,下次登录可就没了。。
没了: 进程号木有,直接ps
不到,同样的,程序是死循环 ,需要我手动才能关闭,我就测试退出进来它就关闭了,排除程序问题
後面漏了一個符號:&
例如:
運行nohup指令後,按一下會車,就可以知道程式能不能在後台運行了。如果不行,會有跳出訊息,就跟你的一樣。
進程的標準輸出預設為當前回話,如果關閉回話一定會出錯。 應該把標準輸出重定向到/dev/null
1.你可以透過進程號查看被掛起的進程是否是真的退出了.
2.如果退出了你需要查看你的程式日誌, 看你的程式是在哪裡退出的.
cat nohup.out 看看,如果沒有這個文件,表示 nohup 還沒運行完你就關閉終端了,當然沒有。
用ps -aux|grep xxx來尋找
我之前遇到過,和你使用的SSH終端有關,你可以換成原生態的那個bash來試試。
我採用的是
setsid /usr/local/php/bin/php ~/shua3.php > /dev/null &