it-swarm-pt.com

Como posso ver quais processos estão em execução?

Eu uso o Ubuntu Server 10.10 e gostaria de ver quais processos estão em execução. Sei que o PostgreSQL está sendo executado na minha máquina, mas não consigo vê-lo com os comandos top ou ps, portanto, suponho que eles não estejam mostrando todos os processos em execução. Existe outro comando que mostrará todos os processos em execução ou existem outros parâmetros que eu possa usar com top ou ps para isso?

22
Jonas

Na página do manual ps:

-e Selecione todos os processos. Idêntico a -A.

Portanto, ps -e exibirá todos os processos. As opções comuns para "me dê tudo" são ps -ely ou ps aux, o último é o estilo BSD. Frequentemente, as pessoas canalizam essa saída para grep para procurar um processo, como na resposta do xenoterracide. Para evitar também ver grep na saída, você verá frequentemente algo como:

 ps -ef | grep [f]oo

onde foo é o nome do processo que você está procurando.

No entanto, se você estiver procurando por um processo específico, recomendo usar o comando pgrep se estiver disponível. Acredito que esteja disponível no Ubuntu Server. Usar pgrep significa evitar a condição de corrida mencionada acima. Ele também fornece alguns outros recursos que exigiriam truques grep cada vez mais complicados para serem replicados. A sintaxe é simples:

pgrep foo

onde foo é o processo pelo qual você está procurando. Por padrão, ele simplesmente emitirá o ID do processo (PID) do processo, se encontrar um. Vejo man pgrep para outras opções de saída. Achei a seguinte página muito útil:

http://mywiki.wooledge.org/ProcessManagement

26
Steven D

você tentou ps aux | grep postgres? realmente deve aparecer se o postgres estiver rodando. Se não ... como você sabe que o postgres está em execução?

(nota: é um equívoco comum que é ps -aux mas isso não está correto)

3
xenoterracide