首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行PHP脚本8次后Bash脚本停止

执行PHP脚本8次后Bash脚本停止
EN

Stack Overflow用户
提问于 2012-11-14 23:20:54
回答 1查看 271关注 0票数 0

我有一个bash脚本,它正在执行php脚本。我的bash知识很差,我需要执行那个PHP脚本大约100次。我只需复制粘贴执行行:

代码语言:javascript
复制
#!/bin/bash
php /home/me/public_html/script/stats.php 1 2 3
php /home/me/public_html/script/stats.php 1 2 3
php /home/me/public_html/script/stats.php 1 2 3
...

1,2,3是我传递给php脚本的参数。

所有这些都很好,但是在第8行bash脚本挂起之后,就不会执行下一步了.所以我得再重启一次。

有什么不对的?

UPD

PHP (不是完整的脚本,而是一般的想法)

它从检索命令行args开始。将它们传递给在msql查询中使用它们的函数。msql查询的每个结果都传递给另一个函数,该函数使用该结果形成一个url,从中检索逗号分隔字符串并处理它,将其拆分为数组并插入到另一个表中。main函数完成msql链接关闭后,脚本退出。

代码语言:javascript
复制
<?php
if (($argv[1] > 0) && ($argv[2] > 0) && ($argv[3] > 0)) {
echo "All good! Here we go: ";
echo "\n";
gatherstats($argv[1],$argv[2],$argv[3]);

} else {
echo "no\n";

}



function gatherstats($y,$m,$cl){ 

  Require 'db.php';
// SQL QUERY HERE AND A LOOP TO PROCESS RESULTS

//CALLS UP NEXT FUNCTION FOR EACH RESULT
 crawl($a,$b,$c);

}

function crawl($atr,$year,$month) { 

       //forms up specific url from passed vars and processes it

    }


  mysqli_close($link);

?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-14 23:24:10

也许第8 php脚本调用出于某种原因而挂起。您可以这样做,以避免输入命令100次:

代码语言:javascript
复制
for i in {1..100}; do
   php /home/me/public_html/script/stats.php 1 2 3 > some_log_file_$i.log
done

向php脚本中添加一些print语句,并检查日志中的8调用,以查看发生了什么。如果要求不停止调用(即使其中一个失败),则可以使用

代码语言:javascript
复制
for i in {1..100}; do
   php /home/me/public_html/script/stats.php 1 2 3 > some_log_file_$i.log &
done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13389102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档