watch [opcje] polecenie
Pozwala to w dość skuteczny sposób śledzić zmiany zachodzące pomiędzy kolejnymi wykonaniami polecenia.
Przejdźmy do praktyki. Prześledźmy zmiany pamięci dostępnej w systemie:
# watch -n 1 free
Co 1 sekundę wykonujemy polecenie free (wyświetla statystyki pamięci dostępnej w systemie - o tym innym razem).
Polecenie watch pozwala nam na więcej - możemy śledzić zmiany zachodzące w wyniku wykonania między dwoma kolejnymi wywołaniami (opcja -d):
# watch -n 1 -d free
Możemy też użyć wartości =cumulative przy opcji -d - zaznaczone będą wszystkie zmiany jakie zachodzą między wywołaniami polecenia - zmiany te będą kumulowane - nie zostaną skasowane jak w wypadku użycia samej opcji -d
# watch -n 2 free -d=cumulative free
Inne przykłady zastosowania komendy watch:
- śledzenie liczby przerwań (o przerwaniach innym razem)
# watch -n1 -d 'cat /proc/interrupts'
- śledzenie procesów ZOMBIE w systemie - no tak nie całkiem do końca ale powinno zadziałać (o procesach innym razem)
# watch -n2 "ps auxw | grep 'defunct' | grep -v 'grep' | grep -v 'watch'"
grep -v odfiltrowuje linie zawierające tekst pasujący do wzorca - stosuje się to często przy wyszukiwaniu konkretnego procesu w systemie gdy chcemy odfiltrować proces grep w zwróconym wyniku:
# ps ax|grep cron|grep -v grep
Zadanie - Jak inaczej można odfiltrować grep z listy procesów?
- śledzenie nawiązanych połączeń:
# watch -n 1 -d "netstat -tpanl | grep ESTABLISHED"
Zastosowań znajdzie się pewnie mnóstwo - ja często używam watch przy poleceniu dd w celu sprawdzenia ile danych zostało skopiowanych za jego pomocą. Polecenie dd wyświetla aktualny stan kopiowania tylko w momencie gdy proces dd otrzyma sygnał SIGUSR1 (polecam man dd):
# watch -n 2 'kill -SIGUSR1 $pid
$pid określa numer procesu dd w systemie (trzeba go wcześniej zidentyfikować).
Brak komentarzy:
Prześlij komentarz