技術メモ帳 このページをアンテナに追加 RSSフィード

2006-11-02

[]定期的にコマンドを実行しその出力の変化を監視する 09:38 定期的にコマンドを実行しその出力の変化を監視するを含むブックマーク 定期的にコマンドを実行しその出力の変化を監視するのブックマークコメント

以前に、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

zioniczionic 2006/11/02 14:24 一部オプションの記述が間違っています。
--differences=cumulative

lurkerlurker 2006/11/02 22:32 わざわざありがとうございます。
修正しておきました。

taku910taku910 2006/11/03 01:47 killall -KILL foo ってのもありますよ,

木村木村 2006/11/03 02:44 なかなか面白い、さらに子プロセスの見分けがついたらいいのに。

parasporospaparasporospa 2006/11/03 06:51 FreeBSD には watch(8) という別のコマンドが入っていますね。watch(1) は ports にも見つかりませんでした。
topless というのもありますよ。
http://www.ongs.net/~daichi/

ところで lurker さんおすすめのコマンドリファレンス本ってありますか?
私はこの本しか持っていないのですが、どうせなら読んでいるだけで楽しいものが欲しいですね。
http://www.amazon.co.jp/gp/product/4894712644/

lurkerlurker 2006/11/03 07:15 >taku910さん
実は、まとめて殺しても問題ないときは killall を使っていたりします。
たしかに、この文章ですと killall 知らないような感じですね。
サンプルが悪くて申し訳ないです。
あと、kill -TERM -1 とかはよく使います。

>木村さん
-P で親プロセスの見分けはつくみたいですね。
一度もやった事が無いのでわかりませんがコレを利用すれば出来そうな気がします。
セッションIDも指定できるみたいですし。

>parasporospa さん
そうなんですよね。
BSDとLinuxだとまったく別のコマンドなんですよね。
実は僕が最初に知ったのは FreeBSD の watch だったりします。
そして、Linux で他の人の端末を監視しようとして
あれ、うまくいかない。-> 何だこの便利コマンドは!! と気づいた訳です。
(結局Linuxでは ttysnoop を使いました。)

>topless
初めて知りました。ありがとうございます。
色を付けてくれるところが非常に素敵です。
というかコレを知っていれば watch いらない気がしてきました。

anightsanights 2006/11/03 07:19 子プロセスなら-Pとか-uとかオプションで絞り込めますよ

lurkerlurker 2006/11/03 07:25 >>anightsさん
sid, pid, gid が指定できるみたいなので
完全に特定できそうですね。

lurkerlurker 2006/11/03 07:51 >>parasporospaさん
リファレンス本はもってないです。
僕自身あまりコマンドには詳しくないのですが、
普段良く使うコマンドなのでしたら、
市販のものを買っておけば問題ない気がします。

あくまで主観ですが、マニアックなものでしたら、
man を見るのが一番良いかと個人的に思っています。
実は前にも書いたのですが、manの関連セクションを
ひたすらたどっていくというのをよくやっていて
そのときに便利コマンド便利オプションを発見している気がします。
もうお読みになられてるかもしれませんが、
具体的な文献でのお勧めは、fileutils のマニュアルです。
http://www.gnu.org/software/fileutils/doc/manual/html/fileutils.html

確かコレの日本語訳がどこかにあったのですが。。

fu7mu4fu7mu4 2006/11/03 12:17 rubyのpskillがおすすめです。http://homepage1.nifty.com/~tetsu/ruby/cmd/pskill.html

lurkerlurker 2006/11/03 19:57 >fu7mu4さん
Rubyで書くと移植性が高くなりそうで良いですね。