Cum să salvați rezultatul comenzii de sus într-un fișier


Comanda de top Linux este foarte folosită de administratorii de sistem pentru a afișa statisticile sistemului în timp real privind timpul de funcționare a sistemului și încărcarea medie, memoria utilizată, sarcini de rulare, un rezumat al proceselor sau firelor și informații detaliate despre fiecare proces care rulează.

Cu toate acestea, pe lângă vizualizarea în timp real a sistemului care rulează, ieșirea comenzii de top poate fi salvată într-un fișier, utilizând indicatorul -b, care îi indică pe top să opereze în modul batch și -n flag pentru a specifica cantitatea de iterație pe care ar trebui să o scoată comanda.

În exemplul de mai jos, vom redirecționa rezultatul comanda de sus către fișierul top.txt din directorul de lucru curent. Argumentul -n va fi folosit pentru a trimite doar un instantaneu al comenzii către fișierul menționat.

top -b -n 1 > top.txt

Pentru a citi fișierul rezultat, utilizați un utilitar de citire a fișierelor din linia de comandă, cum ar fi comanda cat, less sau more.

less top.txt

Pentru a prelua cinci iterații ale comanda de sus, executați comanda așa cum se arată în fragmentul de mai jos.

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

Pentru a afișa numai numărul de sarcini care rulează din fișierul rezultat, utilizați filtrul grep, așa cum se arată în exemplul de comandă de mai jos.

cat top-5iterations.txt | grep Tasks

Pentru a face un instantaneu al unui anumit proces în utilitatea de top, executați comanda cu indicatorul PID (-p). Pentru a obține codul PID al unui proces care rulează, lansați comanda pidof împotriva numelui procesului care rulează.

În acest exemplu, vom monitoriza procesul cron prin comandă de sus, luând trei instantanee ale PID-ului.

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

Folosind o buclă de iterație for, putem afișa statisticile unui proces prin intermediul PID-ului său, la fiecare două secunde, așa cum se arată în exemplul de mai jos. Ieșirea buclei poate fi, de asemenea, redirecționată către un fișier. Vom folosi același cron PID așa cum se arată în exemplul de mai sus.

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

Redirecționează ieșirea buclei către fișier.

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

Acestea sunt doar câteva exemple despre cum puteți monitoriza și aduna statistici de sistem și proces prin comandă de sus.