2008-09-15 2 views

答えて

2

ps aux | grep httpdまたはのシェルコマンドを実行し、出力の行数をカウントできます。

exec('ps aux | grep apache', $output); 
$processes = count($output); 

私はそれが接続を受け入れる準備ができていることを示していますが、準備のプロセスの数を取得することに対してフィルタリングすることができ、ステータス欄のどの状態かわかりません。 ?あなたは、Apacheサーバのステータスページへのアクセス権を持っている場合

1

、オートフラグを使用してみてください:

http://yourserver/server-status?auto

出力はステータスページの機械読み取り可能なバージョンです。 I あなたは "IdleWorkers"を探しています。ここでは簡単なPHP5コードを紹介します。実際には、サーバーがオフラインの場合に、cURLまたはソケット接続を使用してタイムアウトを開始することをお勧めします。

<?php 

$status = file('http://yourserver/server-status?auto'); 
foreach ($status as $line) { 
    if (substr($line, 0, 10) == 'IdleWorkers') { 
    $idle_workers = trim(substr($line, 12)); 
    print $idle_workers; 
    break; 
    } 
} 

?> 
関連する問題