Nowe posty

Autor Wątek: wyświetlanie procesów konkretnego użytkownika  (Przeczytany 5107 razy)

mdew

  • Gość
wyświetlanie procesów konkretnego użytkownika
« dnia: 2010-11-03, 09:11:07 »
Mam takie zadanie:

Proszę napisać skrypt CGI dający możliwość przeglądania listy procesów uruchamianych przez poszczególnych uzytkowników. Wybieramy użytkownika z listy a skrypt wyświetla jego procesy. Powinien też pozwalać na wyświetlanie procesów użytkowników nie zalogowanych (np. uruchomione z crontaba), przy czym wskazane jest umożliwienie pominięcia procesów roota.

Pomińmy, że ma być w perlu i CGI.
Żeby wyświetlić procesy dla konkretnego użytkownika robi się tak prawda?:
ps -u nazwa_użytkownika
ale o co chodzi z tym crontabem - czy procesy uruchamiane przez niego nie należą do użytkownika który je w crontabie zaplanował i ta komenda ich nie wyświetli?

Jak mam wylistować wszystkich użytkowników? w etc/passwd nie ma wszystkich - czy przegladajac np home?

I o co może chodzić z tym pominieciem procesow root??? przeciez jak dam ps -u user to nie wyswietli mi roota...

pewno jest jakis haczyk w tym zadaniu ale ja nie bardzo sie znam na linuxie :) - nie prosze o kod bo kod potrafie sam napisac, tylko o jakas wskazowke ktora by wyjasnila mi zadanie :)

pozdro



aha chyba już rozumiem - chodzi o to, że program ma mieć 2 opcje:
1. wyświetlanie wszystkich procesów danego użytkownika
2. wyświetlenie wszystkich procesów użytkowników niezalogowanych, z pominięciem roota

czy dobrze kombinuję?

arctgx

  • Gość
wyświetlanie procesów konkretnego użytkownika
« Odpowiedź #1 dnia: 2010-11-03, 13:29:58 »
Może istnieje banalniejsze rozwiązanie, ale na razie możesz przepuścić
ps --no-headers -eo euser
przez sort i grep.

Zobacz też dla przykładu
pgrep -l -u $USER
Zapuściłem na próbę sleep 2000 w crontabie,
ps -eo euser,ruser,suser,fuser,comm -C sleep
pokazuje, że sleep należy do użytkownika, który go zaplanował.

mdew

  • Gość
wyświetlanie procesów konkretnego użytkownika
« Odpowiedź #2 dnia: 2010-11-03, 14:23:20 »
Super dzieki wielkie :) o to mi chodzilo :)