Linux - Pobieranie numeru PID procesu, czyli polecenia top, htop, ps, pgrep i pidof
Artykuł ten poświęcam tematowi pobierania numeru Id procesu, czyli PID. Poznamy kilka popularnych metod, w tym zarówno te wymagające interakcji z użytkownikiem, jak i działające przy pomocy jednego prostego wywołania.
Po co komu numer PID?
Można przytoczyć wiele scenariuszy, w których przydatna będzie znajomość numer PID procesu. Pierwszym z brzegu tego dowodem będzie np. zagadnienie zabijania procesów, czy choćby ustalania ich priorytetów, o czym wspominałem w jednym z wcześniejszych artykułów - Linux - Nice i Renice, czyli zarządzanie priorytetami procesów.
Top oraz Htop - metody wymagające interakcji
Najprostsze metody uzyskania numery PID oferują polecenia top i htop (htop jest bardziej rozbudowaną wersją programu top i znajdziemy ją w repozytoriach). Jako że są to programy wymagające współdziałania z użytkownikiem, można wskazać zarówno ich zalety jak i wady. Jeśli chodzi o wady, to na pewno nie będzie można ich optymalnie wykorzystać w sytuacjach, w których w prosty sposób potrzebujemy wiadomości zwrotnej z informacją o PID konkretnego procesu, czyli zastosowania w skryptach zdecydowanie odpadają. Jeśli jednak chodzi o inne operacje na procesach, takie, jakie jak ich zabijanie, zmiana priorytetów etc., to w wygodny sposób będziemy mogli wykonać je już z poziomu tych aplikacji.Przejdźmy teraz do sposobów niewymagających współpracy z użytkownikiem komputera.
Polecenie ps
Polecenie ps, po przekazaniu odpowiednich parametrów wywołania, wylistuje nam szereg informacji o na temat procesów. Jeśli dołożymy do wywołania polecenie grep, którym przefiltrujemy wyświetloną listę, pod względem nazwy procesu, uzyskamy informacje jedynie o interesujących nas programach. Polecenie takie może przybrać postać podobną do:6279 ?00:19:27 skype
Polecenie pgrep
Poprzednie sposoby na uzyskanie numeru PID były nieco okrężne. Mam tu na myśli, że ten numer uzyskiwaliśmy właściwie przy okazji pobierania również innych danych. Ten sposób, oraz kolejny, pozwolą nam uzyskać, tylko i wyłącznie interesujący nas numer Id procesu. Najpierw zajmiemy się komendą pgrep. Przyjmuje ona parametr, jakim jest nazwa procesu. Warto również dołączyć do wywołania flagę -x, co zaowocuje wypisaniem tylko numerów dla dokładnie pasujących nazw procesów.6279
Polecenie pidof
Bardzo podobnie do polecenia pgrep, działa komenda pidof, której już sama nazwa wskazuje, że służy do uzyskiwania numerów PID wskazanych procesów. Podobnie jak w poprzednim przypadku, musimy przekazać do programu nazwę procesu, którego numer Id chcemy poznać:6279
Komentarze (1)