Wyszukiwanie w witrynie

Jak zapisać dane wyjściowe najwyższego polecenia do pliku


Główne polecenie systemu Linux jest często używane przez administratorów systemów do wyświetlania statystyk systemu w czasie rzeczywistym dotyczących czasu pracy systemu i średniego obciążenia, wykorzystanej pamięci, uruchomione zadania, podsumowanie procesów lub wątków oraz szczegółowe informacje o każdym uruchomionym procesie.

Jednakże, oprócz przeglądania działającego systemu w czasie rzeczywistym, wynik komendy top może zostać zapisany w pliku przy użyciu flagi -b, która instruuje top, aby działał w trybie wsadowym oraz flagi -n flaga określająca liczbę iteracji, jakie polecenie powinno wyświetlić.

W poniższym przykładzie przekierujemy dane wyjściowe top polecenia do pliku top.txt w bieżącym katalogu roboczym. Argument -n zostanie użyty do wysłania tylko jednej migawki polecenia do wspomnianego pliku.

top -b -n 1 > top.txt

Aby odczytać wynikowy plik, użyj narzędzia do odczytu plików wiersza poleceń, takiego jak polecenie cat, less lub more.

less top.txt

Aby pobrać pięć iteracji najwyższego polecenia, wykonaj polecenie, jak pokazano w poniższym fragmencie.

top -b -n 5 > top-5iterations.txt

Aby wyświetlić tylko liczbę uruchomionych zadań z wynikowego pliku, użyj filtra grep, jak pokazano w poniższym przykładzie polecenia.

cat top-5iterations.txt | grep Tasks

Aby zrobić migawkę określonego procesu w najwyższym narzędziu, wykonaj polecenie z flagą PID (-p). Aby uzyskać PID działającego procesu, wydaj polecenie pidof względem nazwy uruchomionego procesu.

W tym przykładzie będziemy monitorować proces cron za pomocą najwyższego polecenia, wykonując trzy migawki PID.

pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt

Używając pętli iteracyjnej for, możemy wyświetlać statystyki procesu za pomocą jego PID co dwie sekundy, jak pokazano w poniższym przykładzie. Wyjście pętli można również przekierować do pliku. Użyjemy tego samego cron PID, jak pokazano w powyższym przykładzie.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

Przekieruj wyjście pętli do pliku.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt

To tylko kilka przykładów monitorowania i gromadzenia statystyk systemu i procesu za pomocą najwyższego polecenia.