it-swarm-ru.tech

Как я могу увидеть, какие процессы запущены?

Я использую Ubuntu Server 10.10 и хотел бы посмотреть, какие процессы запущены. Я знаю, что PostgreSQL работает на моем компьютере, но я не вижу его с помощью команд top или ps, поэтому я предполагаю, что они не отображают все запущенные процессы. Есть ли другая команда, которая покажет все запущенные процессы или есть какие-либо другие параметры, которые я могу использовать для этого с top или ps?

22
Jonas

Со страницы руководства ps:

-e выбрать все процессы. Идентичен -A.

Таким образом, ps -e отобразит все процессы. Обычные варианты "дай мне все": ps -ely или ps aux, последний в стиле BSD. Часто люди затем направляют этот вывод grep для поиска процесса, как в ответе xenoterracide. Чтобы также не видеть сам grep в выходных данных, вы часто будете видеть что-то вроде:

 ps -ef | grep [f]oo

где foo - имя процесса, которое вы ищете.

Однако, если вы ищете определенный процесс, я рекомендую использовать команду pgrep, если она доступна. Я считаю, что это доступно на сервере Ubuntu. Использование pgrep означает, что вы избежите упомянутых выше условий гонки. Он также предоставляет некоторые другие функции, которые потребуют все более сложной хитрости grep для репликации. Синтаксис прост:

pgrep foo

где foo - это процесс, который вы ищете. По умолчанию он просто выведет идентификатор процесса (PID) процесса, если он его найдет. Видеть man pgrep для других вариантов вывода. Я нашел следующую страницу очень полезной:

http://mywiki.wooledge.org/ProcessManagement

26
Steven D

ты пытался ps aux | grep postgres? это действительно должно появиться, если Postgres работает. Если это не так ... как вы знаете, работает postgres?

(примечание: это распространенное заблуждение, что это ps -aux но это не правильно)

3
xenoterracide