稼動時間をシェルコマンドで調べる
戻る


[8]システム稼動時間を見る

【システム稼動時間を見る方法】

よく「このサーバは、連続して 5日と 00 時間 46 分稼動しています。」といったものを見かけますが、 これはUNIXのコマンド”uptime”を利用しています。
上の青い文字表示は実際のこのサーバ(wspri.dip.jp)の連続稼動時間を表示しています。

値を得る方法は極めて簡単です。実際に値を得てみましょう。

このプログラムはソースをコピーしたりせずに、ご自分でタイプしてみてください。 また、ここ以降はそれぞれの関数についての個別解説はしませんので、 出てくる関数についての詳細はマニュアルを参考にしてください。

<?php
///////////////////////////////////////////
//PHPプログラムの動作テスト
//サーバの稼動時間を得る
///////////////////////////////////////////

$now = shell_exec( "uptime" );
print $now;
?>

これだけです。簡単でしょ?
ここで使っているshell_exec()という関数は UNIXのシェルコマンドを実行するものです。
これをサーバで実行すると次のように表示される筈です。

05:41:45 up 5 days, 46 min, 0 users, load average: 1.18, 1.11, 1.52

ちなみにこんな方法でも所得できます。

<?php
///////////////////////////////////////////
//PHPプログラムの動作テスト
//サーバの稼動時間を得る
///////////////////////////////////////////

$now =`uptime`;
print $now;
?>

この結果も同じように

05:41:45 up 5 days, 46 min, 0 users, load average: 1.18, 1.11, 1.52

と表示されますね。`UNIXコマンド`でUNIXのコマンドや実行ファイルを指定して起動させる事ができます。'じゃあないですよ`です。気をつけて!

さらにこんな方法でも所得できます。

<?php
///////////////////////////////////////////
//PHPプログラムの動作テスト
//サーバの稼動時間を得る
///////////////////////////////////////////

system("uptime",$now);
print $now;
?>

この結果も同じように

05:41:45 up 5 days, 46 min, 0 users, load average: 1.18, 1.11, 1.52 0

と表示されますよ。これはsystem関数で実行しています。

では表示される値の意味について解説しましょう。

返される値の意味

05:41:45
5 days 46 min
0 users
load average
1.18
1.11
1.52
現在の時刻
稼動期間(日、時:分)
ユーザ数
システム負荷
1分前
5分前
15分前

※システム負荷が1.00になっている場合は100%の負荷が掛かっている場合を示します。


といった概要です。一番上の稼働時間の整形には、上表の「稼動期間(日、時:分)」を抜き出して 使えばいいわけです。
この項はこれで終わりです。簡単でしたね。



TOPへ