2006-11-02
■[unix]定期的にコマンドを実行しその出力の変化を監視する

以前に、watch コマンドという
指定されたコマンドを定期的に実行し、
フルスクリーンで表示してくれるコマンドがあるという事を書いた。
http://d.hatena.ne.jp/lurker/20060716/1153056030
実は、--differences とオプションを付加する事によって、
直前の出力結果との差分をハイライト表示してくれるらしい。
知らなかった。コレは便利だ。
正直 grep -o を知ったときぐらい感動した。
以下のように入力してみるとどうなるのかが
わかっていただけると思う。
ちなみにこれは、1秒おきに、dateコマンドを実行するというもの。
$ watch -n 1 --differences date
さらに、--differences=cumulative と付加すると
起動してからのすべての変更部分がハイライトされるようだ。
$ watch -n 1 --differences=cumulative date
watch コマンドのマニュアルページ:
http://www.linux.or.jp/JM/html/procps/man1/watch.1.html
追記(2007/03/12):
さすがに --differences=cumulative と入力するのは煩わしいね。
と思っていたら単に、-dc としてもいいようだ。こりゃラクだ。
$ watch -n 1 -dc date
トラックバック - http://d.hatena.ne.jp/lurker/20061102/1162427903
- http://d.hatena.ne.jp/hyuki/20061102
- There’s more than one way to kill’em
- http://d.hatena.ne.jp/buko/20061103
- http://d.hatena.ne.jp/teramako/20061103
- http://d.hatena.ne.jp/hogem/20061104
- http://d.hatena.ne.jp/odz/20061104
- iwasekiの日記 - [tips]grep -o
- http://d.hatena.ne.jp/lurker/20070218
- http://d.hatena.ne.jp/roadmanprog/20070308
- http://d.hatena.ne.jp/lurker/20070402
- 東急リバブルの女性蔑視体質
- ★これでも東横線の女性専用車両を容認するのか★
- 10両編成の電車に、女性専用車両が1両
- 井口寛二弁護士の「女の子」発言
- 井口寛二弁護士、セクハラ事件を担当
- ブランズシティ守谷に嫌悪
- tanamonの日記 - LinuxでプロセスIDをgrepして引数に渡す方法
- [Linux]定期的にコマンドを実行
- 要領の悪いプログラマの生活 - watchコマンド
- メタボなプログラマーのメモ - linux(unix)のプロセスをなんたら...
- くろねこ屋の日々。 - Ubuntu Memo
- プログラマーkkの勉強/成長ブログ@ライブレボリューション(モバイル...
- Web系エンジニアbcoのメモ帳 - 出力の変化を監視する
- weblog of key_amb - pgrep, pkillコマンド
- 彼女からは、おいちゃんと呼ばれています - GrowthForecast を Cent...
- ためしにやってみる系 - pgrep、pkill使ってプロセス名でのkillする...
リンク元
- 454 http://reader.livedoor.com/reader/
- 352 http://d.hatena.ne.jp/
- 282 http://b.hatena.ne.jp/hotentry
- 198 http://blog.livedoor.jp/dankogai/archives/50676508.html
- 155 http://b.hatena.ne.jp/
- 67 http://b.hatena.ne.jp/add?mode=confirm&title=%u6280%u8853%u30E1%u30E2%u5E33 - %u5B9A%u671F%u7684%u306B%u30B3%u30DE%u30F3%u30C9%u3092%u5B9F%u884C%u3057%u305D%u306E%u51FA%u529B%u306E%u5909%u5316%u3092%u76E3%u8996%u3059%u308B&url=http://d.hatena.ne.jp/
- 54 http://b.hatena.ne.jp/entrylist?sort=hot
- 53 http://www.google.co.jp/ig?hl=ja
- 47 http://blog.livedoor.jp/dankogai/
- 34 http://b.hatena.ne.jp/hotentry?cname=elec
--differences=cumulative
修正しておきました。
topless というのもありますよ。
http://www.ongs.net/~daichi/
ところで lurker さんおすすめのコマンドリファレンス本ってありますか?
私はこの本しか持っていないのですが、どうせなら読んでいるだけで楽しいものが欲しいですね。
http://www.amazon.co.jp/gp/product/4894712644/
実は、まとめて殺しても問題ないときは killall を使っていたりします。
たしかに、この文章ですと killall 知らないような感じですね。
サンプルが悪くて申し訳ないです。
あと、kill -TERM -1 とかはよく使います。
>木村さん
-P で親プロセスの見分けはつくみたいですね。
一度もやった事が無いのでわかりませんがコレを利用すれば出来そうな気がします。
セッションIDも指定できるみたいですし。
>parasporospa さん
そうなんですよね。
BSDとLinuxだとまったく別のコマンドなんですよね。
実は僕が最初に知ったのは FreeBSD の watch だったりします。
そして、Linux で他の人の端末を監視しようとして
あれ、うまくいかない。-> 何だこの便利コマンドは!! と気づいた訳です。
(結局Linuxでは ttysnoop を使いました。)
>topless
初めて知りました。ありがとうございます。
色を付けてくれるところが非常に素敵です。
というかコレを知っていれば watch いらない気がしてきました。
sid, pid, gid が指定できるみたいなので
完全に特定できそうですね。
リファレンス本はもってないです。
僕自身あまりコマンドには詳しくないのですが、
普段良く使うコマンドなのでしたら、
市販のものを買っておけば問題ない気がします。
あくまで主観ですが、マニアックなものでしたら、
man を見るのが一番良いかと個人的に思っています。
実は前にも書いたのですが、manの関連セクションを
ひたすらたどっていくというのをよくやっていて
そのときに便利コマンド便利オプションを発見している気がします。
もうお読みになられてるかもしれませんが、
具体的な文献でのお勧めは、fileutils のマニュアルです。
http://www.gnu.org/software/fileutils/doc/manual/html/fileutils.html
確かコレの日本語訳がどこかにあったのですが。。
Rubyで書くと移植性が高くなりそうで良いですね。