Я использую Ubuntu Server 10.10 и хочу посмотреть, какие процессы запущены. Я знаю, что PostgreSQL работает на моем компьютере, но я не вижу его с помощью команд topили ps, поэтому я предполагаю, что они не отображают все запущенные процессы. Есть ли другая команда, которая покажет все запущенные процессы или есть какие-либо другие параметры, которые я могу использовать topили psдля этого?
Таким образом, ps -eбудут отображаться все процессы. Распространенными вариантами «дай мне все» являются ps -elyили ps aux, последний стиль BSD. Часто люди направляют этот вывод для grepпоиска процесса, как в ответе ксенотеррацида. Чтобы также не видеть grepсебя в выводе, вы часто будете видеть что-то вроде:
ps -ef | grep [f]oo
где foo - имя процесса, которое вы ищете.
Однако, если вы ищете конкретный процесс, я рекомендую использовать pgrepкоманду, если она доступна. Я считаю, что это доступно на сервере Ubuntu. Использование pgrepозначает, что вы избегаете упомянутых выше условий гонки. Он также предоставляет некоторые другие функции, которые требуют все более сложной grepхитрости для репликации. Синтаксис прост:
pgrep foo
где foo - это процесс, который вы ищете. По умолчанию он просто выведет идентификатор процесса (PID) процесса, если он его найдет. Смотрите man pgrepдругие варианты вывода. Я нашел следующую страницу очень полезной:
Интересно, какой процент людей используют, psне зная флагов. Я просто бросаю auxна это всегда; Я понятия не имею, что на самом деле контролируют отдельные флаги
Майкл Мрозек
3
ты пробовал ps aux | grep postgres? это действительно должно появиться, если Postgres работает. Если это не так ... как вы знаете, работает postgres?
(примечание: это распространенное заблуждение, но оно ps -auxневерно)
Спасибо, ps auxсработало лучше, показало около 70 процессов, а psпоказало только два. Я знаю, что PostgreSQL работал, так как я увидел, что он был запущен при загрузке и был остановлен при завершении работы.
Джонас
@Jonas Некоторые сценарии инициализации написаны плохо. Не верьте им только потому, что они говорят, что что-то было начато и остановлено. Просто несколько советов
ксенотеррацид
Это также pgrepполезно для того, чтобы никогда не фиксировать свою ps aux | grep postgresкоманду в списке процессов и не выводить ее
ps
не зная флагов. Я просто бросаюaux
на это всегда; Я понятия не имею, что на самом деле контролируют отдельные флагиты пробовал
ps aux | grep postgres
? это действительно должно появиться, если Postgres работает. Если это не так ... как вы знаете, работает postgres?(примечание: это распространенное заблуждение, но оно
ps -aux
неверно)источник
ps aux
сработало лучше, показало около 70 процессов, аps
показало только два. Я знаю, что PostgreSQL работал, так как я увидел, что он был запущен при загрузке и был остановлен при завершении работы.pgrep
полезно для того, чтобы никогда не фиксировать своюps aux | grep postgres
команду в списке процессов и не выводить ее