como posso ver quais processos estão em execução?
<p>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 <code>top</code> ou <code>ps</code>, 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 <code>top</code> ou <code>ps</code> para isso?</p>
<p>na página do manual <code>ps</code>:</p><blockquote> <p>-e selecione todos os processos. idêntico a -a.</p> </blockquote><p>portanto, <code>ps -e</code> exibirá todos os processos. as opções comuns para "me dê tudo" são <code>ps -ely</code> ou <code>ps aux</code>, o último é o estilo bsd. frequentemente, as pessoas canalizam essa saída para <code>grep</code> para procurar um processo, como na resposta do xenoterracide. para evitar também ver <code>grep</code> na saída, você verá frequentemente algo como:</p><pre><code> ps -ef | grep [f]oo </code></pre><p>onde foo é o nome do processo que você está procurando.</p><p>no entanto, se você estiver procurando por um processo específico, recomendo usar o comando <code>pgrep</code> se estiver disponível. acredito que esteja disponível no ubuntu server. usar <code>pgrep</code> significa evitar a condição de corrida mencionada acima. ele também fornece alguns outros recursos que exigiriam truques <code>grep</code> cada vez mais complicados para serem replicados. a sintaxe é simples:</p><pre><code>pgrep foo </code></pre><p>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 <code>man pgrep</code> para outras opções de saída. achei a seguinte página muito útil:</p><p> <a href="http://mywiki.wooledge.org/processmanagement">http://mywiki.wooledge.org/processmanagement</a> </p>
acabei de descobrir um utilitário bem poderoso de controle de processos no terminal o nome dele é htop e com ele é possível fazer o que você quer mas vai ter que configurar ele para fazer isso no próprio utilitário

edit: [[htop]](https://plus.diolinux.com.br/uploads/default/original/2x/b/bf9b441cc78eb9fabbadaa634f575feeca2b97d8.png "htop.png")

eu consegui configurar e ordenar ele para uso de leitura e escrita do … <p>uma maneira de obter a localização binária do processo é usar <code>lsof</code> e <code>grep</code> para o primeiro segmento <code>txt</code>. por exemplo, no shell para ver qual binário é o shell, use o pid do shell no lugar de <code>$$</code>.</p><pre><code>$ lsof -p $$ | grep txt bash 78228 blair txt reg 14,2 1244928 6568359 /bin/bash bash 78228 blair txt reg 14,2 1059792 23699809 /usr/lib/dyld bash 78228 blair txt reg 14,2 136368128 81751398 /private/var/db/dyld/dyld\_shared\_cache\_i386 </code></pre><p>você pode ver que o shell está usando <code>/bin/bash</code>.</p><p>essa técnica funciona se o processo foi iniciado usando um caminho absoluto ou relativo. por exemplo, entrar em um shell e executar</p><pre><code>$ sleep 1234567 </code></pre><p>e usar <code>ps</code> em outro shell mostra apenas como foi lançado:</p><pre><code>$ ps auxww|grep '[s]leep' blair 79462 0.0 0.0 600908 744 s011 s+ 11:17pm 0:00.00 sleep 1234567 </code></pre><p>usando <code>lsof</code> mostra qual binário ele executou:</p><pre><code>$ lsof -p 79462 | awk '$4 == "txt" { print $9 }' /opt/local-development/bin/gsleep </code></pre><p>eu tenho macports coreutils + with\_default\_names instalado, o que explica que eu peguei <code>gsleep</code> e não <code>/bin/sleep</code>.</p> <p>o que significa "o tempo todo"? se acontecer uma vez por dia, eu escreveria um pequeno roteiro para testar os serviços para o estado de execução para descobrir se eles param em um horário específico. então tente descobrir o que mais está acontecendo ao mesmo tempo.</p><p>se acontecer a cada poucos minutos, monitoraria os processos com o 'monitor de processo' do sysinternal para descobrir quais arquivos/threads são acessados ​​por último antes de cair.</p> <p>se o seu sistema suportar um <strong> procfs </strong>, você poderá obter muitas informações do seu sistema em execução. é uma interface para as estruturas de dados do kernels, por isso também conterá informações sobre o seu hardware. por exemplo, para obter detalhes sobre a cpu usada, você poderia <code>cat /proc/cpuinfo</code> para mais informações, você deve ver o <em> <a href="http://www.kernel.org/doc/man-pages/online/pages/man5/proc.5.html">man proc</a> </em>.</p><p>mais informações de hardware podem ser obtidas nas mensagens de log do buffer do anel do kernel com <code>dmesg</code>. por exemplo, isso fornecerá um breve resumo do hardware conectado recentemente e como ele é integrado no sistema.</p><p>estas são algumas "interfaces" básicas que você terá em todas as distribuições para obter algumas informações de hardware.</p><p>outras ferramentas 'pequenas' para coletar informações de hardware são:</p><ul> <li>lspci - hardware pci</li> <li>lsusb - hardware usb</li> </ul><p>dependendo da sua distribuição, você também terá acesso a uma dessas duas ferramentas para obter uma visão geral detalhada da sua configuração de hardware:</p><ul> <li> <a href="http://ezix.org/project/wiki/hardwarelister">lshw</a> </li> <li>hwinfo (específico do suse, mas também disponível em outras distribuições)</li> </ul><p>o "portão" para o seu hardware é através da <em> "desktop management interface"</em> (-&gt; dmi). essa estrutura expõe as informações do sistema ao seu software e é usada pelo lshw, por exemplo. uma ferramenta para interagir diretamente com o dmi é <strong> <a href="http://www.nongnu.org/dmidecode/">dmidecode</a> </strong> e disponível na maioria das distribuições como pacote. ele virá com <code>biosdecode</code> que mostra também as informações completas do bios disponíveis.</p> processos são é o conjunto de atividades que envolve equipamentos, pessoas, informações e procedimentos, transformam os insumos em produtos ou serviços, agregam valor e produzem resultados em uma organização. exemplos de processos: venda de produtos, compra de materiais e pagamento de fornecedores.sub-processos têm um nível maior de detalhamento, criados a partir de uma estrutura hierárquica, demonstram as atividades e o fluxo de trabalho que são necessárias para a execução de cada processo em uma organização. são representados visualmente por retângulos, círculo e quadrados em um mapa visual.tarefas são o conjunto de responsabilidades, autoridades, comunicações e decisões de uma organização que objetivam o alcance dos resultados. dessa forma, mostram o fluxo de trabalho necessários para que os processos da organização sejam alcançados. <pre><code>show full processlist </code></pre><p>se você não usar <code>full</code>, <a href="https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html">"somente os primeiros 100 caracteres de cada instrução são mostrados no campo <code>info</code>"</a> .</p><p>ao usar o phpmyadmin, você também deve clicar na opção "textos completos" ("← t →" no canto superior esquerdo de uma tabela de resultados) para ver os resultados não-truncados.</p> <p>enviar uma nova linha <code>\n</code> executará o comando. <code>.end()</code> sairá do shell.</p><p>modifiquei o exemplo para trabalhar com o bash enquanto estou no osx.</p><pre><code>var terminal = require('child\_process').spawn('bash'); terminal.stdout.on('data', function (data) { console.log('stdout: ' + data); }); terminal.on('exit', function (code) { console.log('child process exited with code ' + code); }); settimeout(function() { console.log('sending stdin to terminal'); terminal.stdin.write('echo "hello $user. your machine runs since:"\n'); terminal.stdin.write('uptime\n'); console.log('ending terminal session'); terminal.stdin.end(); }, 1000); </code></pre><p>a saída será:</p><pre><code>sending stdin to terminal ending terminal session stdout: hello root. your machine runs since: stdout: 9:47 up 50 mins, 2 users, load averages: 1.75 1.58 1.42 child process exited with code 0 </code></pre> olá, atilahc,



separei esse link com algumas informações que podem te ajudar:



<https://www.techtudo.com.br/dicas-e-tutoriais/2019/07/pc-lento-descubra-qual-programa-atrapalha-o-desempenho-do-computador.ghtml>



depois conta pra gente se deu certo! :) <p>uma que funciona bem é usar cores de fundo diferentes no seu shell para servidores de produção/teste/teste.</p> <p> <a href="http://oreilly.com/catalog/9780596009588">programação de sistemas linux</a> </p><p>você pode consultar isso também <a href="https://unix.stackexchange.com/questions/80/recommended-readings-batter-understating-of-unix-linux-internals">link</a> </p>