Monitorowanie uruchomionych procesów

Potrzebujesz pomocy z C, C++, perl, python, itp.
kya

Monitorowanie uruchomionych procesów

Post autor: kya »

Witam.
Jestem w trakcie tworzenia aplikacji, która na podstawie obciążenia generowanego przez poszczególne procesy ma oceniać stan systemu, korzystając ze zgromadzonych wcześniej danych na temat tych procesów. Początkowo w planach miałam użycie polecenia:

Kod: Zaznacz cały

ps aux
i gromadzenie z niego danych na temat użycia zasobów przez poszczególne procesy w określonym czasie. Jednak jako, że aplikacja ma zbierać dane przez długi okres czasu konieczne jest rozróżnianie procesów po ich nazwie a nie PID. Tu pojawia się problem, jako, że niektóre procesy występują parokrotnie. Jak najlepiej rozróżniać takie procesy?

Ewentualnie może ktoś zna jakieś inne narzędzie, które mogło by się tutaj lepiej nadać? Na początku myślałam o programie nmon, ale nie udało mi się od niego wyciągnąć tego na czym mi zależało.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

kya pisze:konieczne jest rozróżnianie procesów po ich nazwie a nie PID. Tu pojawia się problem, jako, że niektóre procesy występują parokrotnie. Jak najlepiej rozróżniać takie procesy?
Po parze atrybutów pid i nazwa (coś jak klucz na kilku polach w SQL). A tak w ogóle to możesz zejść na niższy poziom - /proc/${PID}/. Tam jest wszystko :)
kya

Post autor: kya »

Problem w tym, że proces zbierania danych ma być dość długi, wiec para {PID, nazwa procesu} nie będzie jednoznacznie identyfikować procesu, gdyż z kolejnym uruchomieniem numery PID się pozmieniają. Z czego właściwie wynika wielokrotne występowanie niektórych procesów?
ODPOWIEDZ