Oglądanie postępu w Linuksie

15 marca, 2013 (12:23) | linux, sprzęt | By: konrad

Podczas normalnej pracy z serwerami często zdarza mi się uruchomić zadania, które trwają dość długo. Niestety, czasami są to procesy działające głęboko w systemie programy, które nie raportują na bieżąco, co się z nimi dzieje. A człowiek jest zwierzęciem z natury niecierpliwym i chciałby wiedzieć, jak długo będzie jeszcze musiał czekać na wyniki polecenia, które wpisał całe wieki (czyli jakieś 5 minut) temu. Dobrym przykładem jest budowanie programowych macierzy za pomocą systemowego mdadm. Samo narzędzie definiuje tylko parametry nowej macierzy, zaś jej budowaniem zajmuje się proces systemowy, który nie jest specjalnie rozmowny. Szczęśliwie można podejrzeć stan zaawansowania poprzez wyświetlenie zawartości pliku /proc/mdstat:

[kbechler@flame ~]$ cat /proc/mdstat
Personalities : [raid1]
md127 : active raid1 cciss/c0d1p3[1] cciss/c0d0p3[0]
      383789078 blocks super 1.2 [2/2] [UU]

md0 : active raid1 cciss/c0d1p1[1] cciss/c0d0p1[0]
      102502328 blocks super 1.0 [2/2] [UU]
      bitmap: 1/1 pages [4KB], 65536KB chunk

unused devices: 
[kbechler@flame ~]$

Wielokrotne wpisywanie tej samej komendy może być trochę nużące, więc ktoś kiedyś wymyślił komendę watch, dzięki której możemy sobie życie trochę ułatwić. Niestety, świat idealny nie jest i w niektórych systemach (np. w konsoli administracyjnej macierzy QNAP) takiego narzędzia po prostu nie ma. I tutaj z pomocą przychodzi znajomość kilku innych komend (których na szczęście nikt QNAPowych urządzeń nie pozbawił). Jednym z prostszych „zamienników” wspomnianego watch’a jest taka oto konstrukcja:

[kbechler@flame ~]$ while [ 1 ]; do clear; cat /proc/mdstat; sleep 2; done

Warto zauważyć, że nie tylko ja miewam takie problemy, bo identyczną konstrukcję znalazłem na TEJ stronie :-)

Trackback URL: https://konrad.bechler.pl/2013/03/ogladanie-postepu-w-linuksie/trackback/

«

»