用phpfetch框架写了个php的爬虫,他这个框架的用法是执行php filename.php
命令(因为我放在了阿里云上,所以用的putty),但是这样的话,我的电脑就不能关putty(电脑也不能关机),否则的话爬虫就会停止执行。
我想问怎么才能我输上执行php进程的命令以后,我就可以关掉putty,然后爬虫爬完一遍自己结束就好了。
用phpfetch框架写了个php的爬虫,他这个框架的用法是执行php filename.php
命令(因为我放在了阿里云上,所以用的putty),但是这样的话,我的电脑就不能关putty(电脑也不能关机),否则的话爬虫就会停止执行。
我想问怎么才能我输上执行php进程的命令以后,我就可以关掉putty,然后爬虫爬完一遍自己结束就好了。
<code>nohup php filename.php & >/dev/null</code>
更建议的方法是使用screen
:
<code>//运行screen命令 [litp@ubuntu ~]$ screen //输入你的命令 [litp@ubuntu ~]$ php filename.php //断开screen //Ctrl + a d //这时你可以退出putty了 //当你再登陆,想知道之前命令运行结果时 [litp@ubuntu ~]$ screen -r //这时你可以看到之前的命令的运行结果和输出 //更多关于screen的使用可以参考文档</code>
应为shell进程结束了,php进程也就结束。
应该php脱了父进程的管控。可以百度一下php 守护进程。
额。linux的问题
php -f /path/filename.php > /dev/null 2>&1 &
这样会放到后台执行。要记录log就改/dev/null
的路径比如:php -f /path/filename.php > ~/log 2>&1 &
可以放到后台执行呀