Jak mogę zobaczyć, jakie procesy są uruchomione?

21

Używam Ubuntu Server 10.10 i chciałbym zobaczyć, jakie procesy są uruchomione. Wiem, że PostgreSQL działa na moim komputerze, ale nie widzę go za pomocą poleceń toplub ps, więc zakładam, że nie wyświetlają wszystkich uruchomionych procesów. Czy istnieje inna komenda, która pokaże wszystkie uruchomione procesy, czy jest jakieś inne parametry można używać z toplub psdo tego?

Jonas
źródło

Odpowiedzi:

26

Ze strony podręcznika ps:

-e Wybierz wszystkie procesy. Identyczne z -A.

W ten sposób ps -ewyświetli wszystkie procesy. Typowe opcje dla „daj mi wszystko” to ps -elylub ps aux, ten drugi styl BSD. Często ludzie następnie przesyłają dane wyjściowe do grepwyszukiwania procesu, tak jak w odpowiedzi na ksenoterracyd. Aby uniknąć oglądania grepsię również w danych wyjściowych, często widzisz coś takiego:

 ps -ef | grep [f]oo

gdzie foo to nazwa procesu, którego szukasz.

Jeśli jednak szukasz konkretnego procesu, zalecamy użycie pgreppolecenia, jeśli jest ono dostępne. Wierzę, że jest dostępny na Ubuntu Server. Użycie pgrepoznacza uniknięcie wyżej wymienionych warunków wyścigu. Zapewnia również kilka innych funkcji, które grepdo odtworzenia wymagałyby coraz bardziej skomplikowanych sztuczek. Składnia jest prosta:

pgrep foo

gdzie foo to proces, którego szukasz. Domyślnie po prostu wyświetli identyfikator procesu (PID) procesu, jeśli go znajdzie. Zobacz man pgrepinne opcje wyjściowe. Uważam, że następująca strona jest bardzo pomocna:

http://mywiki.wooledge.org/ProcessManagement

Steven D.
źródło
Zastanawiam się, jakiego procentu ludzi używa, psnie znając flag. Po prostu rzucam się auxna to zawsze; Nie mam pojęcia, co tak naprawdę kontrolują poszczególne flagi
Michael Mrozek
3

próbowałeś ps aux | grep postgres? to naprawdę powinno pojawić się, jeśli działa postgres. Jeśli nie ... skąd wiesz, że działa postgres?

(uwaga: jest to powszechne nieporozumienie, ps -auxale nie jest poprawne)

ksenoterracid
źródło
Dzięki, ps auxdziałało lepiej, pokazało około 70 procesów, podczas gdy pspokazało tylko dwa. Wiem, że PostgreSQL działał, odkąd zobaczyłem, że został uruchomiony podczas uruchamiania i został zatrzymany podczas zamykania.
Jonas
@Jonas niektóre skrypty inicjujące są źle napisane. Nie wierz im tylko dlatego, że mówią, że coś się zaczęło i zatrzymało. Tylko kilka porad
ksenoterrakid
Jest na to także pgrepkorzyść, ponieważ nigdy nie łapie ps aux | grep postgressamego polecenia na liście procesów i nie wypisuje go
Michael Mrozek