[解決済み】PHPでの非同期シェル実行
2022-04-11 20:37:28
質問
シェルスクリプトを呼び出す必要があるPHPスクリプトがあるのですが、出力には全く関心がありません。シェルスクリプトはSOAPを何度もコールしており、完了までに時間がかかるため、応答を待つ間、PHPリクエストの速度を落としたくありません。実際、PHP リクエストはシェルプロセスを終了させることなく終了できるはずです。
いろいろ調べてみると
exec()
,
shell_exec()
,
pcntl_fork()
などの関数がありますが、どれも私が欲しいものを正確に提供していないようです。(あるいは、そうであっても、その方法がよくわからないのです。) 何か提案はありますか?
解決方法は?
もし、quot;doesn't care about the output"であれば、スクリプトへのexecは
&
を使用して、プロセスをバックグラウンドにすることはできますか?
EDIT
- を組み込んでいます。
アダム・ザ・ハット
がこの記事にコメントしたように、これを呼び出しに追加することで
exec
:
" > /dev/null 2>/dev/null &"
これは
stdio
(最初の
>
) と
stderr
(
2>
) から
/dev/null
を作成し、バックグラウンドで実行します。
同じことをする方法は他にもありますが、これが一番シンプルに読めます。
上記のダブルリダイレクトの代替案です。
" &> /dev/null &"
関連
-
[解決済み】不明なMySQLサーバーのホスト
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] Bashシェルスクリプトの入力引数の存在確認
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】 libapache2-mod-php7 パッケージが見つからない。
-
[解決済み] * vchiqインスタンスを開くのに失敗しました。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない
-
[解決済み】phpでバックグラウンドプロセスを実行する
-
[解決済み] PHPにはスレッドがありますか?