2011-11-09 11 views
0

がなければ、私はこのようにPHPでコマンドを実行する必要があります。PHP Execの:待たずに、出力を廃棄することなく、nohupを

exec('dosomething > saveit.txt'); 

私はそれが完全であるためにPHPを待ちたくない場合を除き。私は出力を捨てることも望まないし、nohupを使用したくないのは同じディレクトリ内の何かのために使用しているからです。

また、私はpclose(popen('dosomething > saveit.txt','r'));を試しても動作しませんでしたが、まだ待っていました。

+0

'nohup'は異なる出力ファイルに書き込むことができます。そしてすぐに 'pclose'を呼び出すと、システムはサブプロセスを待たなければなりません。 – mario

答えて

4

ので、コマンドの最後にampersandを追加します。

exec('dosomething > saveit.txt &'); 
+2

Windowsシステムの同等機能をご存知ですか? – erm3nda

3

exec()の文書で述べている面白いcommentがあります:

を把握するためにかなりの時間がかかりました私は次に投稿するつもりです。あなたが結果を待っているスクリプトを持たずにバックグラウンドでコマンドを実行したい場合は、以下の操作を行うことができます

<?php 
    passthru("/usr/bin/php /path/to/script.php ".$argv_parameter." >> /path/to/log_file.log 2>&1 &"); 
?> 
+0

問題は、別のPHPスクリプトを実行しようとしていないことだけです。しかし、私はいつもexecコマンドだけでPHPスクリプトを作って、それを使ってPHPスクリプトを実行することができます。それは解決策です。 – Alasdair

関連する問題