Process Explorer

Process Explorer

Autor: Robert Żuber

Opublikowano: 8/28/2008, 12:00 AM

Liczba odsłon: 20169

Gdy systemowy Menadżer zadań nie wystarcza

W codziennej pracy z systemem operacyjnym wiele sytuacji wymaga szybkich i zdecydowanych działań. Zawieszenie pracy uruchomionego programu, czy niedający się usunąć z dysku plik, to tylko nieliczne z możliwych scenariuszy. Zapewne każdy znalazł się w takiej sytuacji. Sięgamy wtedy zazwyczaj po sprawdzoną kombinację klawiszy Alt + Ctrl + Del, jako panaceum na wszelkie dolegliwości. W wielu wypadkach opcje wkomponowane w systemowego Menadżera zadań (taskmgr) w zupełności wystarczą, aby uporać się z problemem. Jednak co w przypadku, gdy dolegliwość jest daleko bardziej skomplikowana? Otóż w takich wypadkach pomóc może ciekawe narzędzie o nazwie Process Explorer dostępne w pakiecie Microsoft Sysinternals Suite. Jest to zaawansowany odpowiednik Menadżera zadań systemu Windows, oferujący poza podobną funkcjonalnością, również wiele innych narzędzi. Oprócz standardowych opcji "zabijania" uruchomionych procesów, definiowania priorytetu, gwarantuje dodatkowo dostarczanie rozbudowanych informacji na temat ścieżek dostępu, statystyk wykorzystywanej pamięci, zabezpieczeń, używanych wskaźników oraz podczepionych bibliotek DLL. Ciekawa opcja wyszukiwania pozwoli zorientować się na przykład jaki z nieznanych procesów korzysta w tym momencie z określonego pliku, lokalizacji, lub klucza rejestru. Tego typu diagnostyka może okazać się przydatna, zarówno w celu rozwiązania napotkanego kłopotu, jak również jako poletko doświadczalne dla użytkowników, którzy lubią wiedzieć „co w systemie piszczy”. Zapraszamy więc do zapoznania się z programem.

Okno główne i inne opcje

Główny widok narzędzia wydaje się być przejrzysty i uporządkowany. Program składa się zasadniczo z dwóch okien usytuowanych pionowo jeden na drugim. W górnym oknie widzimy listę aktualnie uruchomionych procesów z wyszczególnieniem takich detali, jak nazwa, przypisana ikona, indywidualny numer PID, wykorzystywany czas procesora (CPU), krótki opis (Description) oraz nazwa twórcy (Company Name). Dwukrotne kliknięcie wybranego programu skutkuje wyświetleniem podstawowych danych o procesie, zarówno liczbowych, jak i graficznych dotyczących używanej pamięci, statusu, nadanych uprawnień, działalności protokołu TCP/IP i przypisanych łańcuchów.

Wątki ustawione są w hierarchiczne drzewko, co pozwala łatwo zorientować się, który proces jest nadrzędny (macierzysty) w stosunku do innego. Okienko poniżej, zawiera z kolei listy powiązanych wskaźników/uchwytów (Handlers) lub bibliotek (DLLs) w zależności, która opcja jest w tym momencie włączona. Przełączamy się między nimi za pomocą kombinacji klawiszy Ctrl + D (DLLs) i Ctrl + H (Handlers), lub klikając w przyciski znajdujące się wymiennie na belce z najpotrzebniejszymi opcjami.

Rozeznanie co do trybu uruchamiania każdego z wątków, widocznych na liście zapewnia oznaczenie ich za pomocą odpowiednich kolorów, co znacznie poprawia widoczność. I tak na przykład nowe obiekty standardowo wyróżnione są kolorem zielonym, procesy uruchomione w trybie usługi są różowe, usunięte obiekty czerwone, natomiast własne pliki jasnoniebieskie. Możliwa jest zmiana poszczególnych kolorów na własne, dokonamy tego poprzez Options, Configure Highlighting.

W menu File (z ang. Plik) napotkamy opcję zapisywania logu programu, z listą uruchomionych procesów i przypisanych danych z dolnego okienka, a także okno dialogowe Uruchom, startujące procesy zarówno w trybie administracyjnym jak i z limitowanym dostępem. W podmenu Shutdown ulokowane zostały polecenia wylogowania, wyłączania, ponownego uruchamiania, blokowania i wstrzymania systemu. Lista Options (z ang. Opcje) zawiera ponadto opcje minimalizacji do zasobnika systemowego, blokadę uruchamiania dodatkowych kopii programu, oraz funkcjonalność znaną już z innych aplikacji Always on top (z ang. Zawsze na wierzchu).

Kolumny i ich organizacja

Rodzaje informacji jakie dostarczać może Process Explorer są w pełni konfigurowalne. Poszczególne kolumny rozmieszczać możemy dowolnie, według uznania, posługując się przy tym metodą przeciągnij i upuść. Menu View, Select columns pozwoli zdefiniować jakiego rodzaju informacje wydają się być przydatne. Każda zakładka w menu odpowiada za inny aspekt działania programu, i tak na przykład na karcie Process Image oprócz domyślnie zaznaczonego pokazywania opisu i wydawcy, możemy również dodać wyświetlanie wersji, nazwy okienka, jak również dostępny komentarz. Dla wskaźników wybrać możemy wartość, flagę czy adres, natomiast na zakładce DLL możliwe do zaznaczenia jest pokazywanie ścieżek i zmapowanego rozmiaru. Dla zwykłego śmiertelnika te informacje nie mają żadnego znaczenia. Ciekawe dane uzyskać można również na pasku statusu (zakładka Status Bar). Znaleźć się tam może na przykład aktualna ilość procesów, bibliotek, czy wskaźników. Istnieje również opcja zapisywania z określoną nazwą skonfigurowanych schematów. Znajdziemy ją w View, Save Column Set. Organize Column Set to miejsce, z którego wczytujemy zapamiętane konfiguracje.

Wyszukiwanie

Genialną funkcjonalnością, jaką posiada program jest opcja wyszukiwania. Pozwala ona zorientować się, który proces korzysta w danym momencie z określonej biblioteki, klucza rejestru czy pliku dyskowego. Ta funkcjonalność ma zastosowanie na przykład w sytuacji, gdy z jakiś powodów nie możemy pozbyć się z dysku pliku, gdyż system oznajmia, że jest używany, co nie jest prawdą. Problem powstaje gdy plik, na którym poprzednio pracowaliśmy nie został prawidłowo zwolniony. W takim wypadku, w celu zdemaskowania aplikacji powodującej problemy, użyć możemy opcji Find, Find Handle or DLL, lub skrótu Ctrl + F. W nowo otwartym oknie wpisujemy nazwę pliku, a program wyświetli powiązane z nim zadania.

Operacje na procesach

W menu kontekstowym głównego okna zawarte zostały najpowszechniejsze operacje, jakim poddany może zostać wybrany proces począwszy od jego zakończenia (Kill process), "zabicia" całego drzewa (Kill process tree), poprzez zrestartowanie, aż do zawieszenia (Suspend). Dostępna jest również opcja debugowania, oraz - co ma zastosowanie w procesorach wielordzeniowych - jest możliwość zdefiniowania, z którego rdzenia aplikacja może korzystać (Set Affinity).

Biblioteki oraz wskaźniki

Wyświetlanie powiązanych z procesem bibliotek oraz uchwytów jest najprawdopodobniej jedną z najważniejszych funkcji programu. Biblioteki DLL załadowane do pamięci uruchomionych procesów są cegiełkami rozszerzającymi funkcjonalność samej aplikacji. Zaimplementowane w nich funkcje nie mogą zostać wywołane same w sobie, a jedynie za pośrednictwem pliku wykonywalnego exe. Niestety zdarzyć się może również sytuacja, w której, na skutek działania groźnego oprogramowania, w pamięci systemowego procesu ląduje niepożądany gość, funkcja utrudniająca jedynie korzystanie z komputera, lub co gorsze, wykradająca dane. Zlokalizowanie jej może odbyć się za pośrednictwem opcji Properties widocznej w menu prawego przycisku poszczególnych bibliotek. Cenne informacje znajdują się również w sieci, o czym przekonać możemy się wybierając Search online. Program uruchomi domyślą przeglądarkę i wyświetli w wyszukiwarce strony zawierające istotne dane.
Nie bez znaczenia pozostają również załadowane uchwyty. Lista zawiera klucze rejestru, z których proces pobiera dane, a także pliki i katalogi, z których korzysta.

Uruchamianie z Wiersza polecenia

Możliwe jest również wywołanie narzędzia z systemowej konsoli Wiersza polecenia. W tym celu musimy ją najpierw wywołać (Start, Uruchom, wpisujemy cmd). Plik procexp.exe winien znajdować się w katalogu Windows\system32 na dysku systemowym, także dobrym pomysłem będzie skopiowanie go w to miejsce. W oknie konsoli wpisujemy procexp oraz jeden z przełączników, w zależności od efektu, jaki chcemy uzyskać:

  • /e - uruchamia (lub restartuje) program zezwalając modułowi Kontroli Kont Użytkownika na wystartowanie go z prawami administratora
  • /s:PID - zaznacza proces o zdefiniowanej wartości PID
  • /t - uruchamia program i minimalizuje go do systemowego zasobnika
  • /p:tryb_działania - uruchamia program z określonym priorytetem, tryby_działania: r (czas rzeczywisty), h (wysoki), n (normalny), l (niski)

Biorę!

Jeżeli możliwości jakie oferuje opisywany program okażą się przydatne, nic nie stoi na przeszkodzie, aby przynajmniej na jakiś czas odesłać systemowy Menadżer zadań do lamusa. Za pomocą opcji Replace Task Manager z menu Options zastąpimy standardowe narzędzie, jego rozbudowanym odpowiednikiem. Od tego momentu za każdym uruchomieniem programu będzie się on pokazywał jako ikonka w przyborniku systemowym, przedstawiająca graficzny wykres zużycia mocy obliczeniowej procesora. Najechanie na nią wyświetli dymek z danymi procentowymi.

Podsumowanie

Mimo, że narzędzie wydaje się być umiarkowanie skomplikowane, prawdziwym wyzwaniem jest poprawna interpretacja wyników jego działania. Żadną sztuką będzie "zabicie" ważnego systemowego procesu i co za tym idzie narażenie się na niestabilność systemu, lub jego całkowite unieruchomienie. Szkopuł tkwi w tym, że program udostępnia istotne informacje, które wykorzystać musimy w sposób przemyślany, z ogromną dawką zdrowego rozsądku i racjonalnym podejściem do sprawy. Osoby choć trochę zorientowane w temacie nie powinny mieć problemów z poradzeniem sobie, przy pomocy Process Explorer oczywiście, z groźną biblioteką wszczepioną w systemowy proces, zamknięciem nieodpowiadającego procesu, czy usunięciem pliku, w momencie gdy system non stop raportuje o jego ciągłym wykorzystywaniu. Odrobina doświadczenia i znakomite narzędzie to tandem gotów w każdej chwili uporać się ze wspomnianymi nieoczekiwanymi okolicznościami.


Pliki do pobrania:
Process Explorer
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia