
No.1ベストアンサー
- 回答日時:
戻り値を得る必要がないならOSごとのバックグラウンド処理にまかせればよいのでは?
UNIX系なら「コマンド &」、Win系なら「cmd /C コマンド」のような・・・
この回答への補足
Linux+apache+php+postgresqlで行います
PHPでユーザからのリクエストに応じて実行プログラムを実行して
その結果をPostgresqlに記述して
PHPでその内容をユーザが要求したときに見せるということをしたいのです
単にプログラムを実行してその結果を自分が知るということは常にやっていますが
そういうことではないのです
ウェブアプリの重い部分を高速化のためC言語で作ったコマンドに肩代わりさせたいのです
No.3
- 回答日時:
それと、本当にそれが速いのか、詳しく調査した方がいいですよ。
外部プログラムを呼び出すコストって結構ばかになりません。下手すると、Cで書いて短くなった時間よりも、プログラム呼び出すための時間の方長いってことがあります。
ありがとうございます
一回の呼び出しで重いプログラムを実行するので
呼び出しのコストは吸収されると思います
とにかく念のため時間計測も行ってみたいと思います
No.2
- 回答日時:
No.1さんの通り、systemやexecやpassthruは シェル上でコマンドを実行しているのと同じなので、
バックグランド実行させたいなら、プラットフォームがLinuxならLinuxのコマンドの流儀通り
system("/パス/コマンド 引数 &");
または
exec("~ &");
または
passthru("~ &");
となります。
ちなみに、このままだと実行権限がhttpdのオーナー(通常apache)での実行になりますが、
実行権限も変えたいときは事前にsudoers(詳細省略)を設定しておいて
system("sudo -u user名 /パス/コマンド >> /パス/ログファイル &");
という感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
copy() で属性保存
-
phpスクリプトのみで定期実行
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
バッチを用いたフォルダの自動移動
-
makefile でファイルをコピーす...
-
URLが.PHPってどういう...
-
PHPでフォルダ選択ダイアログを...
-
ループの中で mailItemObj.Disp...
-
「クラス関数」「メンバ関数」...
-
他の開発環境をインストしたらa...
-
VBAでJPGサイズ変更
-
さくらサーバーにて、phpからメ...
-
拡張子の無いアクセスには404エ...
-
バイナリーデータをGIFで表示さ...
-
rmdirでフォルダが消せません
-
phpinfoの内容が見れない
-
sqlite_open、SQLite3::open
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysql複数レコードをまとめて削...
-
if文が入れ子の場合の条件の解釈
-
PHPをPostgreSQLに接続するには?
-
httpdのプロセスが自動で消えな...
-
PHPでサーバーにインストールさ...
-
スクリプトを実行すると警告が...
-
Prompt入力値をphp変数として取...
-
プログラム単語のsetageとかのa...
-
PHPから環境変数'PATH'が使えない
-
Maximum execution time of 30 ...
-
あるphpから他のPHPプロ...
-
JSのWINOW.CONFI...
-
PHPからバッチファイルの実行
-
perl -e "print 'A';"
-
PHPからシェルスクリプトを実行
-
PHPからCRONの編集
-
PHPでコマンドプロンプトを実行...
-
ヒアドキュメントの中で演算子...
-
【PHP】命令は記述順に処理...
-
mod_phpで、rootしか実行できな...
おすすめ情報