Próbuję wydać małe polecenie, które znajdzie procesy wykorzystujące najwięcej mocy procesora.
Najpierw używam, ps aux > file.txt
a potem cut -c 16-20 file.txt | sort -n | tail -5
.
Otrzymuję wynik:
1.0
2.7
8.
14.5
14.5
Więc moje pytanie brzmi: w jaki sposób mogę uzyskać zarówno %CPU
użycie, jak i inne pola razem?
bash
shell-script
sort
ps
Spyros Chiotakis
źródło
źródło
top
zamiast tego?awk
. Następnie, gdy jesteś gotowy przenieść rzeczy „do produkcji”, powinieneś użyćtop
w trybie wsadowym, jeśli jest to odpowiednie dla twoich wymagań.file.txt
, robiącps aux|cut -c ...
Odpowiedzi:
Poprawna odpowiedź to:
Do pierwszej piątki:
Możesz więc określać kolumny bez zakłócania sortowania.
Dawny:
Uwaga „ckujau”:
--sort
jest obsługiwana przezps
fromprocps
, inne implementacje mogą nie mieć tej opcji.źródło
--sort
jest obsługiwany tylko przezps
zprocps
, inne implementacje nie mogą mieć tę opcję.Sortuj według odpowiedniego pola (domyślnie zdefiniowanego jako przejście do białych znaków do przejścia spacjami), w moim przypadku jest to trzecie:
źródło
ps
taką--sort
opcję.Jedną z irytacji przyjętego rozwiązania jest to, że nagłówki różnych kolumn zostaną uwzględnione w danych wyjściowych. Inną kwestią jest, że w przypadku korzystania z przełącznika
-x
dops
niej zapewni pełne wiersze polecenia dla niektórych programów, które można uruchomić na i stać się uciążliwe w wyjściu.Na przykład
Irytujące linie poleceń
Szczególnie Chrome może być dość irytujące, patrząc na
ps
takie wyniki!Nagłówki w danych wyjściowych
Możesz zobaczyć nagłówek zmieszany w 7. linii na wyjściu.
Alternatywy
Pozbycie się nagłówków
ps
zapewnia przełącznik do wyłączania wyświetlania tych nagłówków kolumn. Jest dość łatwy w użyciu, wystarczy dodać--no-heading
przełącznik.Lub tak:
Przejmij kontrolę nad wyświetlanymi kolumnami.
Może to wydawać się bólem, ale jeśli piszesz scenariusz przechwytywania danych
ps
wyjściowych, nie jest tak źle. Takie polecenie naśladuje dane wyjścioweps aux
, z wyjątkiem zamiany dłuższej formyCOMMAND
kolumny na krótszą wersję, która pokazuje tylko nazwę pliku wykonywalnego.Zebranie tego wszystkiego bez nagłówków kolumn jest o wiele łatwiejsze do opanowania podczas pisania skryptów.
Lista od najwyższych do najniższych% procesów CPU:
Lista procesów procesora od najniższego do najwyższego%:
źródło