watchコマンドといえば、そこまで使用頻度が高いわけではないけれど、覚えてるとちょっとした時に便利なコマンド。
今回は、そんなwatchコマンドで覚えておくと役に立つ使い方について紹介する。
1.基本的な使い方
基本的には、以下のようにコマンドを実行することで、数秒ごと(デフォルトは2秒)にそのコマンドの実行結果をコンソール上に出力することができる。
watch 連続実行させるコマンド
例えば、以下のように実行することで数秒ごとに「ls -la /home」を実行する。
当然、その配下のファイルが作成されれば確認することができる。
watch ls -la /home/
特定のプロセスが上がってくるかどうか確認するなら、「ps -ef | grep プロセス名」で監視することも出来る。
例えば、httpdの状態を監視するなら以下のようにコマンドを実行する。
watch "ps -ef | grep httpd"
2.コマンドを実行する間隔を指定する
デフォルトで2秒となっているコマンドの実行間隔だが、「-n」オプションを使用することで指定することが出来る。
watch -n 実行間隔(秒) 実行コマンド
3.出力結果の変化した箇所をハイライトする
「-d」オプションを利用することで、出力結果が変化した箇所をハイライトすることが出来る。
watch -d 実行コマンド
4.ヘッダーを非表示にする
「-t」オプションを付与すると、実行結果のヘッダーを非表示にすることが出来る。
watch -t 実行コマンド
5.出力結果にカラー情報を付与する
CentOS 7やUbuntu 14.04など、最近のディストリビューションにインストールされているwatchコマンドの場合、「-c」オプションで実行コマンドをカラー出力させることが出来る。
watch -c 実行コマンド
6.実行コマンドがエラーになった場合・変化があった場合、watchコマンドを終了する
watchで実行しているコマンドがエラーになったり、出力状態に変化が合った場合、watchコマンドでの監視を終了させる事が出来る。
「-e」オプションでエラー発生した場合、「-g」で変化が合った場合を指定できる。
実行コマンドでエラーが発生した場合、watchの実行を停止する
watch -e 実行コマンド
なお、「-e」の場合はコマンドの実行は停止するが何かキーを押下するまで画面はそのままとなる。
実行コマンドで変化が発生した場合、watchの実行を停止する
watch -g 実行コマンド
「-e」、「-g」オプションともに、最近のディストリビューションでないと使えないので注意。