===== Exemplos do comando ps ===== ==== Nível Básico ==== * **Listar todos os processos do usuário atual:** - ps - Exibe os processos em execução no terminal do usuário atual. * **Listar todos os processos no sistema:** - ps -e - Mostra todos os processos em execução no sistema. * **Listar processos com informações detalhadas:** - ps -ef - Exibe todos os processos com detalhes adicionais (como PID, usuário, comando, etc.). * **Listar processos de um usuário específico:** - ps -u nome_usuario - Exibe os processos pertencentes a um usuário específico. * **Exibir o PID de um processo específico:** - ps -C nome_processo - Exibe o PID de um processo com o nome fornecido. ==== Nível Intermediário ==== * **Listar processos ordenados por uso de CPU:** - ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu - Lista todos os processos, exibindo PID, PPID, comando, uso de memória e CPU, ordenados pelo maior uso de CPU. * **Listar processos com árvore hierárquica:** - ps -e --forest - Mostra os processos organizados em uma estrutura hierárquica, destacando a relação entre processos pai e filho. * **Exibir processos que pertencem a um grupo de processos específico:** - ps -e --group nome_grupo - Lista todos os processos pertencentes a um grupo específico. * **Filtrar processos pelo nome e exibir o comando completo:** - ps -C nome_processo -o pid,cmd - Exibe o PID e o comando completo dos processos com o nome especificado. * **Listar os processos mais antigos em execução:** - ps -eo pid,etime,cmd --sort=etime - Lista todos os processos, exibindo o tempo de execução (ETIME) e o comando, ordenados pelos processos mais antigos. ==== Nível Avançado ==== * **Monitorar o uso de memória de um processo específico:** - ps -p PID -o %mem,%cpu,cmd - Monitora o uso de memória e CPU de um processo com um PID específico. * **Exibir todos os processos de um terminal (TTY) específico:** - ps -t tty1 - Mostra os processos que estão sendo executados no terminal `tty1`. * **Mostrar processos de um grupo de usuários específico (GID):** - ps -eo pid,uid,gid,cmd --group GID - Exibe os processos pertencentes a um grupo de usuários específico, identificado pelo GID. * **Listar processos e seus respectivos threads:** - ps -eLf - Exibe todos os processos junto com seus threads (filamentos), mostrando informações detalhadas de cada thread. * **Monitorar o tempo de execução de um processo:** - ps -p PID -o etime,etime=RUNNING_TIME - Exibe o tempo total de execução de um processo específico. ==== Nível Especializado ==== * **Exibir processos zumbis:** - ps -e -o stat,ppid,pid,cmd | grep "Z" - Lista todos os processos zumbis (processos que terminaram, mas ainda estão no sistema). * **Exibir processos que estão em espera de I/O:** - ps -eo pid,stat,cmd | grep "D" - Lista processos que estão em estado de espera (I/O wait), identificados pelo estado "D". * **Mostrar processos com seus limites de memória (cgroups):** - ps -eo pid,cmd,pmem --sort=-pmem | head -n 10 - Exibe os processos que mais consomem memória, ordenados e limitados aos 10 primeiros. * **Monitorar um processo específico continuamente com `watch`:** - watch -n 1 'ps -p PID -o %cpu,%mem,cmd' - Atualiza a cada segundo a exibição de informações do uso de CPU e memória de um processo específico. * **Listar processos que estão sendo executados como root:** - ps -U root -u root -N - Lista todos os processos que estão sendo executados pelo usuário root. * **Exibir processos com uma saída customizada usando cabeçalhos personalizados:** - ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem --header - Exibe os processos, ordenados pelo uso de memória, com cabeçalhos customizados. * **Listar processos em execução dentro de um container (usando namespaces):** - ps --ns 4026531836 -e - Exibe processos que estão sendo executados em um namespace específico (útil para containers). * **Exibir processos e registrar em um arquivo de log com timestamp:** - ps -eo pid,ppid,cmd,%mem,%cpu >> /var/log/process_log_$(date +\%Y\%m\%d).log - Salva a lista de processos em um arquivo de log, incluindo um timestamp no nome do arquivo.