0

(遅い) プロセスを停止する問題があります。次のように、ボタンのある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 構成ファイルを変更しましたが、動作しないか、myscript を停止している他のプロセスがあるようです。 .sh ..何か提案はありますか?ありがとう!

4

2 に答える 2

0

スクリプトを継続的に実行すると問題が発生するため、システムで 30 分ごとに Cron を設定します。

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

Cron セットアップ:

30 * * * * php /path/to/your/php/file.php
于 2012-07-14T14:34:29.717 に答える
0

あなたの投稿に基づいて、SSH経由でサーバーにアクセスできると仮定しています。

スクリプトを継続的に実行することが本当の目的である場合は、ログインしてみてください。

nohup myscript.sh

スクリプトが動作している限り、ターミナルを閉じた後も必要な限り実行され続けます。

ログを確認する

スクリプトが失敗する理由を特定するには、必ず と を確認して/var/log/kern.logください/var/log/syslogスクリプトまたはその子を含むエントリを探します。スクリプトがカーネルによって強制終了されている (制限を超えている) か、実行時にエラーが発生している可能性があります。

于 2012-07-14T14:47:07.197 に答える