Nowe posty

Autor Wątek: Konsola - komenda  (Przeczytany 4932 razy)

trenth

  • Gość
Konsola - komenda
« dnia: 2010-11-06, 16:58:54 »
Cześć! Na samym początku zaznaczę może, że jestem totalnym newbie w temacie linuxa

Mam problem z zadaniem z laborek z Sieci i Systemów. Muszę jednym poleceniem zapisać w pliku procesy.txt 10 najbardziej pamięciożernych procesów w danym momencie.

Doszedłem z pomocą wujka Google już do czegoś takiego:
ps -aux - dostaję procesy i info o nich
ale gdy robię
ps -aux > procesy.txt
wyskakują mi jakieś błędy. W jaki sposób mogę to zapisać i posortować. Czy aby wyświetlić tylko dziesięć procesów będę musiał użyć komendy sort w połączeniu z head?
Mile widziany link do jakiegoś pomocnego samouczka o przekierowaniach :)

Z góry dzięki :)

chmooreck

  • Gość
Konsola - komenda
« Odpowiedź #1 dnia: 2010-11-06, 17:02:56 »
Cytat: trenth
Mile widziany link do jakiegoś pomocnego samouczka o przekierowaniach :)
man bash

trenth

  • Gość
Konsola - komenda
« Odpowiedź #2 dnia: 2010-11-06, 17:44:31 »
Dobra doszedłem do czegoś takiego:

ps -aux >> procesy.txt

I tworzy mi się plik z procesami, ale posortowane są po PID. a ja chciałbym żeby było posortowane po %MEM.

Próbuję z sort -k3
ale nic mi nie wychodzi :(  jakieś wskazówki?

Brix

  • Gość
Konsola - komenda
« Odpowiedź #3 dnia: 2010-11-06, 18:40:40 »
Spróbuj użyć komendy w ten sposób:

ps aux > wynik.txt
czyli nie używaj pojedynczej kreski. Dlaczego tak się dzieje, sam się z dziwiłem, ale w sumie nie wiem dlaczego i nie chce mi się szukać.

Ale dane te praktycznie są na nic, bo trudno prosto coś z nich wyciągnąć (przez tr, sed, sort itp.). Zainteresuj się więc opcją --sort w samej komendzie ps oraz ewentualnie formatowaniem danych na wyjściu (jeśli coś takiego jest ;)

Ewentualnie szukaj u wujka gogiela czegoś w stylu "linux ps sort memory" :)

trenth

  • Gość
Konsola - komenda
« Odpowiedź #4 dnia: 2010-11-06, 20:56:55 »
Dzięki Brix :) za cenne wskazówki :)
Działa:
ps aux --sort -rss | head >> procesy.txt

hex0

  • Gość
Konsola - komenda
« Odpowiedź #5 dnia: 2010-11-11, 12:57:55 »
Alternatywnie:

top -b -n1|grep -v 'top'|head -14 |tail  -11 > procesy

Nieco inna forma :)