artpi Napisano Listopad 24, 2006 Zgłoszenie Share Napisano Listopad 24, 2006 Witam, dostałem następujące zadanie: Napisać skrypt shellowy, który oddaje listę zalogowanych użytkowników, (każdy tylko raz!) z informacj± o liczbie sesji użytkownika, liczbie jego procesów oraz nazwie terminala, na którym jego proces zajal najwiecej pamieci. Wynik w postaci: Uzytkownik Sesje Procesy Terminal <username> X Y ttyX I wykombinowałem sobie, że najpierw wywołam "w -s -f" który mi zliczy do jakiejś tablicy sesje tych samych użytkowników i ich nazwy, potem z tej tablicy idąc po nazwach użytkowników będzie wywoływał "ps u U {user}" i zliczy wiersze żeby mieć ilość procesów i nie mam pomysłu na terminal na którym proces użytkownika zajął najwięcej pamięci. Ma ktoś może pomysł jak to zrobić łatwiej? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Sanczo Napisano Listopad 24, 2006 Zgłoszenie Share Napisano Listopad 24, 2006 ... i nie mam pomysłu na terminal na którym proces użytkownika zajął najwięcej pamięci. Ma ktoś może pomysł jak to zrobić łatwiej? ps uax|tr -s ' '|cut -d ' ' -f 4,7|sort -r|head -n 2|tail -n 1|cut -d ' ' -f 2 albo z sed'em): ps uax|tr -s ' '|cut -d ' ' -f 4,7|sort -r|sed -n -e '2s/^.* \(.*\)/\1/p' albo najzgrabniej: ps -eo %mem,tt|sort -r|cut -d ' ' -f 3 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się