お勉強 :  TeraTermでマクロを書く 

オープンソースになっているTeraTerm、そういえばライセンス関係は
どうなっているんだろう?と自分なりに調べたら、修正BSDライセンス
というものに基づいていて、商用・非商用にかかわらず組み込みで
配布OKというものだった。

商用にするわけではないけど、普通に職場で使っても問題がない
ことが分かったので、職場で運用中のルーターへ定期的にtelnetや
SSHでログインして、動いているプロセスのCPU使用率やメモリ使用率を
しらべて・・・というマクロを作ろうと思ってさらに調べる。

マクロの関数とかが独特で、あまり難しい文字列分割とか切り出しは
やりにくいだろうなと予想していたのですが、Ver.4.21から使える
waitregex コマンドなら待ち受け文字列として正規表現が使えて、
さらにグループマッチした文字列も10個まで切り出せるので、
これを使えば簡単かも?と思いつく。

linuxの ps aux で出力されるものを例にすると、こんな感じで
プロセス名、PID、CPU使用率・・・・の順で表示された。

> ps aux
USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND
hogehoge 5048 1.0 1.2 884 368 p2 R 14:34 0:00 ps aux


なので、こんな感じでwaitregexを書いておけばほしい文字列は
取ってくることができました。これならプロセスを監視して
CPU使用率とかでkillとかもできるはず。

waitregex "([a-zA-Z0-9]+) +([0-9]+) +([0-9]{1,2})\."
if result=0 then
タイムアウト処理を書く
endif
process=groupmatchstr1
pid=groupmatchstr2
cpu=groupmatchstr3



さて、今晩の体重は 77.4kg でした。
[ 2015/09/14 22:33 ] お勉強 | TB(0) | CM(0)
コメントの投稿








管理者にだけ表示を許可する