bash脚本超时

时间:2012-07-14 14:25:07

标签: php bash cgi-bin

我遇到了阻止我(慢)进程的问题。我使用带有按钮的php页面开始我的后台慢进程:

<form id="trial" method="post" action=""><input name="trial" value="Start!" type="submit">
<?php
   set_time_limit(0);
   if (isset($_POST['trial'])) {
      system("/srv/www/cgi-bin/myscript.sh");
   }
?>

在1.5天过程停止后的某个时刻,我修改了php.ini和apache配置文件,在timeout指令中插入了一个非常高的数字,但它似乎不起作用,或者还有其他一些进程正在停止myscript.sh ..你有什么建议吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

连续执行脚本会遇到一些问题,所以在系统中每30分钟设置一次Cron。

set_time_limit(30);
system("/srv/www/cgi-bin/myscript.sh");

Cron设置:

30 * * * * php /path/to/your/php/file.php

答案 1 :(得分:0)

我假设您可以根据帖子通过SSH访问服务器。

如果真正的目标是让您的脚本连续运行,为什么不登录?

nohup myscript.sh

只要您的脚本运行,只要您关闭终端后它就会继续运行。

检查日志

要确定脚本失败的原因,您一定要查看/var/log/kern.log/var/log/syslog。查找包含您的脚本其中任何子项的任何条目。您的脚本可能会被内核杀死(超出限制)或在运行时出错。