watchコマンドを作ってみた
30分プログラム、その680。watchコマンドを作ってみました。
watchコマンドって知っていますか?
$ watch hogehoge
とやると、一定時間ごとにhogehogeを実行して画面を更新してくれるコマンドです。
watch dateで時計変わりにしたり、watch lsでファイルが作られる様子を監視したりと、なかなか便利です。
というわけで、これを作ってみましょう。
ソースコード
#! /usr/bin/python # -*- mode:python; coding:utf-8 -*- # # watch.py - # # Copyright(C) 2009 by mzp # Author: MIZUNO Hiroki / mzpppp at gmail dot com # http://howdyworld.org # # Timestamp: 2009/10/19 21:21:15 # # This program is free software; you can redistribute it and/or # modify it under MIT Lincence. # import subprocess import time import sys from curses import * def shell(cmds): return subprocess.Popen(cmds, stdout = subprocess.PIPE).communicate()[0] def watch(cmds): screen = initscr() noecho() while 1: screen.clear() screen.addstr(0,0,"Every 2.0s") screen.addstr(1,0,shell(cmds)) screen.refresh() time.sleep(2) watch(sys.argv[1:])