Acest fișier este creat sau actualizat prin intermediul comenzii interactive „W”.
Versiunea veche este scrisă ca „$HOME/.numele-dvs.-pentru-top” + „rc” cu un punct înainte.
Un fișier de configurare nou creat este scris ca procps/numele-dvs.-pentru-top” + „rc” fără un punct înainte. Directorul procps va fi subordonat fie lui $XDG_CONFIG_HOME atunci când este stabilită ca o cale absolută, fie directorului $HOME/.config.
Deși nu a fost conceput pentru a fi editat manual, iată prezentarea generală a fișierului de configurare:
global # linia 1: numele programului/notația „alias” a numelui
-"- # linia 2: id,altscr,irixps,delay,curwin
per ea # linia a: winname,fieldscur
fereastra # linia b: winflags,sortindx,maxtasks,etc
-"- # linia c: summclr,msgsclr,headclr,taskclr
global # linia 15: configurări diverse suplimentare
-"- # toate liniile rămase sunt dedicate „altor filtre”
-"- # active opționale, discutate în secțiunea 5e de mai sus,
-"- # plus intrările „inspect” discutate în secțiunea 6b de mai jos. În cazul în care nu se poate stabili o cale absolută validă către fișierul fișierul de configurare „rc”, personalizările făcute la un top în execuție vor fi imposibil de păstrat.
Pentru a exploata comanda interactivă „Y”, trebuie să adăugați intrări la sfârșitul fișierului de configurare personal al top. Aceste intrări reflectă pur și simplu un fișier care trebuie citit sau o „comandă”/„linie de comenzi în cascadă” care urmează să fie executată, ale cărei rezultate vor fi apoi afișate într-o fereastră separată care poate fi derulată și căutată.
Dacă nu cunoașteți locația sau numele fișierului dvs. configurare al top, utilizați comanda interactivă „W” pentru a-l rescrie și notați aceste detalii.
Intrările de inspectare pot fi adăugate cu ajutorul unui ecou redirecționat sau prin editarea fișierului de configurare. Redirecționarea unui ecou riscă să suprascrie fișierul configurare în cazul în care înlocuiește (>) în loc să adauge (>>) la fișierul respectiv. În schimb, atunci când se utilizează un editor, trebuie să se aibă grijă să nu se corupă liniile existente, unele dintre acestea putând conține date neimprimabile sau caractere neobișnuite, în funcție de versiunea de top sub care a fost salvat fișierul de configurare respectiv.
Acele intrări Inspect (de inspectare) care încep cu caracterul „#” sunt ignorate, indiferent de conținut. În caz contrar, acestea sunt formate din următoarele 3 elemente, fiecare dintre ele trebuind să fie separat de un caracter de tabulare (deci 2 „\t” în total):
.type: fie „file” (fișier), fie „pipe” (conductă)
.name: selecția afișată pe ecranul de Inspectare
.fmts: șir reprezentând o rută sau o comandă
Cele două tipuri de intrări de Inspectare nu sunt interschimbabile. Cele desemnate „file” vor fi accesate utilizând fopen() și trebuie să facă referire la un singur fișier în elementul „.fmts”. Intrările care specifică „pipe” vor folosi popen(), elementul lor „.fmts” poate conține mai multe comenzi în linie și niciuna nu poate fi interactivă.
În cazul în care fișierul sau linia de comenzi în cascadă (pipeline) reprezentată în elementul „.fmts” se referă la un PID specific introdus sau acceptat atunci când vi se solicită, atunci șirul de format trebuie să conțină, de asemenea, specificatorul „%d”, după cum ilustrează aceste exemple.
.fmts= /proc/%d/numa_maps
.fmts= lsof -P -p %d
Doar pentru intrările de tip „pipe”, ați putea dori, de asemenea, să redirecționați ieșirea de eroare standard către ieșirea standard pentru un rezultat mai cuprinzător. Astfel șirul de format devine:
.fmts= pmap -x %d 2>&1
Iată exemple de ambele tipuri de intrări Inspect așa cum ar putea apărea în fișierul de configurare. Prima intrare va fi ignorată din cauza caracterului inițial „#”. Pentru mai multă claritate, pseudo-tabulatoarele (^I) sunt înconjurate de un spațiu suplimentar, dar tabulatoarele reale nu ar trebui să fie.
# pipe ^I Socluri ^I lsof -n -P -i 2>&1
pipe ^I Fișiere deschise ^I lsof -P -p %d 2>&1
file ^I Informații NUMA ^I /proc/%d/numa_maps
pipe ^I Jurnal ^I tail -n100 /var/log/syslog | sort -Mr
Cu excepția intrării comentate de mai sus, următoarele exemple arată ce ar putea fi transmis pentru a obține rezultate similare, presupunând că numele fișierului de configurare este „.toprc”. Cu toate acestea, din cauza caracterelor de tabulare încorporate, fiecare dintre aceste linii ar trebui să fie precedată de „/bin/echo -e”, nu doar de un simplu „echo”, pentru a permite interpretarea barelor oblice inverse indiferent de shell-ul utilizat.
"pipe\tFișiere deschise\tlsof -P -p %d 2>&1" >> ~/.toprc
"file\tInformații NUMA\t/proc/%d/numa_maps" >> ~/.toprc
"pipe\tJurnal\ttail -n200 /var/log/syslog | sort -Mr" >> ~/.toprc
În cazul în care orice intrare de inspectare pe care o creați produce o ieșire cu caractere neimprimabile, acestea vor fi afișate fie în notația ^C, fie în formatul hexazecimal <FF>, în funcție de valoarea lor. Acest lucru este valabil și pentru caracterele de tabulare, care vor fi afișate sub forma „^I”. Dacă doriți o reprezentare mai veridică, orice tabulație încorporată trebuie dezvoltată. Exemplul următor ia ceea ce ar fi putut fi o intrare „file”, dar folosește în schimb o „pipe” pentru a extinde tabulatoarele încorporate.
# următorul ar fi conținut „\t” ...
# file ^I <numele_dvs.> ^I /proc/%d/status
# dar acest lucru ar elimina „\t” încorporat ...
pipe ^I <numele_dvs.> ^I cat /proc/%d/status | expand -
Notă: Unele programe se pot baza pe SIGINT pentru a se încheia. Prin urmare, dacă se stabilește o „pipe” precum cea de mai jos, trebuie să se utilizeze Ctrl-C pentru a-o încheia pentru a se putea revizui rezultatele. Aceasta este singura ocazie în care un „^C” nu va încheia de asemenea și top.
pipe ^I Trace ^I /usr/bin/strace -p %d 2>&1
În sfârșit, în timp ce intrările de tip „pipe” au fost discutate în termeni de conducte și comenzi, nimic nu vă împiedică să includeți și scripturi shell. Poate chiar scripturi nou create, concepute special pentru comanda interactivă „Y”.
De exemplu, pe măsură ce numărul de intrări Inspect crește în timp, rândul „Opțiuni:” va fi trunchiat atunci când lățimea ecranului este depășită. Acest lucru nu afectează funcționarea decât pentru a face unele selecții invizibile. Cu toate acestea, dacă unele alegeri sunt pierdute din cauza trunchierii, dar doriți să vedeți mai multe opțiuni, există o soluție simplă sugerată mai jos.
Pauză de inspectare la pid ...
Utilizați: tastele săgeți stânga/dreapta apoi <Enter> ...
Opțiuni: help 1 2 3 4 5 6 7 8 9 10 11 ...
Intrările din fișierul de configurare al top vor avea un număr pentru elementul „.name”, iar intrarea „help” va identifica un script shell pe care l-ați scris pentru a explica ce înseamnă de fapt aceste selecții numerotate. În acest fel, pot fi făcute vizibile mult mai multe alegeri.