このプロジェクトを mod_perl で実行すると、ホストに関する情報が表示されます。このページには、ユーザーがホストに ping/nslookup/traceroute できるようにするドロップダウン付きのテキスト ボックスがあります。出力は のようにテキスト ボックスに表示されますtail -f
。
CGIの下でうまく機能します。ユーザーが ping を要求すると、サーバーに対して AJAX 呼び出しが行われ、そこで基本的に ping が開始され、出力が一時ファイルに送られます。その後、ping が終了するまで出力が更新されるように、後続の ajax 呼び出しはファイルを「末尾」にします。ジョブが完了すると、一時ファイルは削除されます。
ただし、mod_perl の下では、何をしてもゾンビ プロセスの作成を停止できます。私はあらゆることを試しました。ダブル フォーク、使用IPC::Run
などです。最終的に、システム コールは mod_perl では推奨されません。
私の質問は、これを行うためのより良い方法があるのではないでしょうか? コマンド ライン ジョブを作成し、mod_perl で動作する出力をテーリングするための CPAN モジュールはありますか? 私はいくつかの提案を探しています。
詳細を通知して更新を取得する、ある種の「ジョブ」デーモンを作成できる可能性があることはわかっています。コマンドを実行し、ステータスなどを追跡します。しかし、もっと簡単な方法はありますか?
前もって感謝します。