2010-12-20 32 views
0

私は実行に時間がかかります(長い時間がかかります)。 「ウェブスクリプト」とは、ブラウザのページにアクセスしてコマンドラインで実行することに反対するスクリプトを意味します。このスクリプトはPHPで書かれており、私はLAMPスタックを使っています。ウェブプロセスを強制終了する方法

私はこのプロセスをどのように見つけて終了できますか?

"キル"は間違った単語かもしれません。私はスクリプトを止めたいだけです。私はこのスクリプトを自分のシステムのある状態が変化するのを「見守る」ようにして、その変化に気付くと停止すると考えられます。私がそれをするなら、それをするための最善の方法がなにかわからない。いずれにせよ、私は完全に任意の提案に開放されています。

+1

PHPの['max_execution_time'](http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time)を設定することができます:つまり、PHPスクリプトが強制終了されるまでの時間を指定することができます。それは手動で停止するか、それを殺すためのロジックを思いつくよりも有用かもしれません。 –

+0

@マーク、非常に良い点。 –

+0

それは本当です。この特定の状況では、いつでもスクリプトを削除できることが重要です。 –

答えて

3

スクリプトが起動すると、ファイルにそのPIDを書き、

file_put_contents(getmypid().".pid","Running"); 

、スクリプトが実行されるようなもの、それはファイルを削除します。

次に、フォームcronを実行する別のスクリプトを作成します。特定の年齢のpidファイルを探し、を入力します。

シンプルです。

+0

私はクローンを除いてこれをやってしまった。 –

0

あなたは単にスクリプトwww.mysite.com/mywebscript.phpのWebページに行くのですか、別のページからスクリプトを実行していますか?私はあなたのLinuxプラットフォーム上でプロセスIDを実際に調べることができるように、system()や何かを使うことをお勧めします。しかし、誰かがおそらく私の言及システム()を投票するつもりです

また、あなたのスクリプトでスレッドを使用することができます。あなたは何でも実行し、同時に入力を行い、いつでもそれを殺すコマンドを送ることができます。

関連する問題