费尽心思,才找到 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()就停了,为什么呢..唉 真是悲剧只是想写个后台运行就这么困难吗??希望大哥们能帮忙解决下吧,项目急需解决啊,上网找遍了,也找不到方法

解决方案 »

  1.   

    #!/bin/sh是什么东西好象都没有见过,RUBY,还是PERL脚本??
      

  2.   


    用sh.exe运行的啊 就是x.sh文件直接运行的./x.sh &就可以了呀 linux下不都这样运行吗? 
      

  3.   

    cygwin 是最为虚拟机在 windows 下运行的,自然不可能达到真实的Linux的性能。尤其是在配置较低的机器中你使用 sh 死循环也是败笔,Linux 不是有定时任务吗?既然是 Windows 系统,那为何不使用 计划任务 呢?