例如我这样让其放置后台
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 &