费尽心思,才找到 php做后台运行的方法。就是cygwin.原理是写一个sh,写一个死循环不断的用php 运行一个php文件.
#!/bin/sh
#
#Script to export
#
while : ;
do
php -f E:/AppServ/www/do.php > /dev/null
sleep 1
done我的目的是每一秒运行do.php do.php运行很快只需要0.2秒左右,但是效果出来,是每3-6秒才运行一次。(在linux下不会有此情况)然后想到把php -f E:/AppServ/www/do.php放到cmd里运行,程序运行完 输出运行时间后,还要停一段几秒,才完全结束。为什么会这样呢,怎么样才能不等,直接再运行呢?————————
第二个后台运行的方法是。在do.php里面写一个死循环。直接用命令php -f E:/AppServ/www/do.php loop$loop=$argv[1];
while($loop){
/*do somethings here*/
run_log(' bef curl_multi_exec()');
curl_multi_exec($mh,$running);
run_log(' end curl_multi_exec()');
}却发现老是在curl_multi_exec这里停掉 php进程也没有了,日志里面写到 bef curl_multi_exec()就停了,为什么呢..唉 真是悲剧只是想写个后台运行就这么困难吗??希望大哥们能帮忙解决下吧,项目急需解决啊,上网找遍了,也找不到方法
#!/bin/sh
#
#Script to export
#
while : ;
do
php -f E:/AppServ/www/do.php > /dev/null
sleep 1
done我的目的是每一秒运行do.php do.php运行很快只需要0.2秒左右,但是效果出来,是每3-6秒才运行一次。(在linux下不会有此情况)然后想到把php -f E:/AppServ/www/do.php放到cmd里运行,程序运行完 输出运行时间后,还要停一段几秒,才完全结束。为什么会这样呢,怎么样才能不等,直接再运行呢?————————
第二个后台运行的方法是。在do.php里面写一个死循环。直接用命令php -f E:/AppServ/www/do.php loop$loop=$argv[1];
while($loop){
/*do somethings here*/
run_log(' bef curl_multi_exec()');
curl_multi_exec($mh,$running);
run_log(' end curl_multi_exec()');
}却发现老是在curl_multi_exec这里停掉 php进程也没有了,日志里面写到 bef curl_multi_exec()就停了,为什么呢..唉 真是悲剧只是想写个后台运行就这么困难吗??希望大哥们能帮忙解决下吧,项目急需解决啊,上网找遍了,也找不到方法
用sh.exe运行的啊 就是x.sh文件直接运行的./x.sh &就可以了呀 linux下不都这样运行吗?