BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Fortschritt eines Programmes beobachten

Muss der Fortschritt eines Prozesses immer durch die Eingabe eines Befehls nachgeschaut werden, so kann man dies mit cmdwatch(1) automatisieren. Übergibt man cmdwatch nur den Befehl, den man ausführen möchte, so wird dieser alle 2 Sekunden ausgeführt und die Ausgabe angezeigt:

# cmdwatch "<Befehl>"

Möchte man zum Beispiel den Fortschritt beim Wiederherstellen eines RAID1-Arrays beobachten, kann man cmdwatch wie folgt benutzen:

# cmdwatch "atacontrol status ar0"

Every 2s: atacontrol status ar0 Fri Mar 16 19:44:07 2007

ar0: ATA RAID1 subdisks: ad3 ad2 status: REBUILDING 59% completed

Soll das Zeitintervall verändern werden, so kann der -n Option die Anzahl Sekunden übergeben werden, nach denen der Befehl wieder ausgeführt wird. Möchte man zum Beispiel alle 5 Sekunden einen df -k ausführen um zuzusehen wie sich die Partitionsbenutzung verändert, so kann man cmdwatch wie folgt verwenden:

# cmdwatch -n 5 "df -k"

Every 5s: df -k Sat Mar 17 12:21:28 2007

Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 507630 110396 356624 24% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 507630 18 467002 0% /tmp
/dev/ad0s1f 42645860 29636174 9598018 76% /usr
/dev/ad0s1e 1012974 94138 837800 10% /var
linprocfs 4 4 0 100% /usr/compat/linux/proc

Verwendet man zusätzlich die -d Option, so werden die Änderungen markiert.

cmdwatch findet man in den FreeBSD-Ports unter sysutils/cmdwatch und kann wie folgt installiert werden:

# cd /usr/ports/sysutils/cmdwatch/ && make install clean

cmdwatch beendet man mit Ctrl + c.

Comments (2)  Permalink