Comandos TOP, PS e PSTREE Todos estes comandos são responsáveis por mostrar os processos existentes em execução no sistema. Porém com suas diferenças, conforme os slides a seguir.
Comando TOP O comando top é usado como um monitor do sistema que mostra a atividade do processador em tempo real. Exibindo as tarefas que estão sendo executadas na CPU e fornecendo uma interface amigável para o gerenciamento de processos. Sintaxe: top [opções] -d [tempo] - Atualiza a tela após o tempo especificado. -s - Executa o top em modo seguro -i - Executa o top ignorando processos zumbis. -c - Mostra a linha de comando ao invés do nome do programa.
STATS PID (Identificador do processo): A identificação do processo (identificador único). USUÁRIO (USER): Usuário proprietário do processo. PR (Prioridade): A prioridade de agendamento do processo. Alguns valores neste campo são RT. Isso significa que o processo está sendo executado em tempo real (Real Time). NI : Os valores mais baixos significam maior prioridade. VIRT : A quantidade de memória virtual usada pelo processo. RES : O tamanho da memória usada. Residente na memória física e não na área de troca (swap). SHR (Share compartilhada): SHR é a memória compartilhada usada pelo processo. S (State estado): Este é o estado do processo. Ele pode ter um dos seguintes valores : % CPU: É a porcentagem de tempo de CPU que a tarefa tem usado desde a última atualização. % MEM: Percentagem de memória física disponível usada pelo processo. TEMPO +: O tempo total de CPU que a tarefa tem usado desde o início (precisão de centésimo de segundo) COMANDO: Descrição do comando que foi utilizado para iniciar o processo.
Exemplo: 1- Fonte: http://www.infowester.com
Exemplo: 2- Fonte: http://www.linuxdescomplicado.com.br/2013/12/comandos-linux-dominando-o-comando-top.html
Comando PS O comando ps gera um instantâneo dos processos atuais no terminal e permite mostrar informações sobre uma seleção dos processos ativos. O comando top coleta as informações, mas as atualiza regularmente. Geralmente essa atualização ocorre a cada 10 segundos. O comando PS, por sua vez, trabalha como se tirasse uma fotografia da situação dos processos naquele momento. Sintaxe: ps [opções]
Comando PS Há três estilos de opções disponíveis: 1. Opções padrão do Unix: podem ser agrupadas e são precedidas por um hífen. # ps -ax 2. Opções BSD: podem ser agrupadas e não são precedidas por um hífen. # ps ax 3. Opções longas GNU: Não são agrupadas e são precedidas por dois hífens. # ps --all Podemos misturar opções de tipos diferentes livremente, porém tomando cuidado pois conflitos podem ocorrer.
Opções principais do comando ps: -a Mostra processos de propriedade de outros usuários e vinculados a um terminal -e Selecionar todos os processos. Idêntico a -A -l Formato longo, incluindo prioridade, PPID, etc. -r Mostrar apenas processos em execução -u Formato de usuário, com nomes de usuário e hora de início dos processos -x Inclui processos sem terminal de controle (daemons, GUI.) -U usuário Exibe processos de propriedade do usuário. -L Lightweight Process / LWP, mostra os threads associados a um processo específico. -T Mostrar threads, com coluna SPID
Campos comuns exibidos nas saídas do comando: USER: Usuário proprietário do processo. PID: Número de identificação do processo. UID: Número de identificação do usuário dono do processo. PPID: Número de identificação do processo pai de cada tarefa. GID: Número de identificação do grupo do processo. %CPU: % dos recursos de CPU que o processo está usando %MEM: % da memória real que o processo está usando VSZ: Tamanho virtual do processo em KiB (KiloBytes) RSS: Resident Set Size (Total de memória usada pelo processo e seus arquivos) TTY: Identificador do terminal de controle STAT: Estado de processo atual START: Horário em que o processo foi iniciado COMMAND: Nome do comando e argumentos. PRI: Prioridade dos processos. WCHAN: Função do kernel no qual o processo esta dormente.
Estado dos processos retornados por ps: R = Executável S = Dormente Z = Zumbi D = Espera no disco T = Rastreado ou interrompido Flags adicionais: W = Processo paginado em disco < = O processo tem uma prioridade maior que a normal N = O processo tem uma prioridade menor que a normal L = Algumas páginas são bloqueadas no núcleo (kernel) Sendo que: Executável: O processo pode ser executado (quando houver tempo de CPU disponível) Dormente: O processo está aguardando algum recurso Zumbi: O processo está tentando se destruir Parado: O processo é suspenso (não há permissão para ser executado).
Exemplos: 1. Mostrar todos os processos: # ps ax Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html A listagem continua, apenas uma parte é mostrada na figura acima. As opções ax nos trazem o PID, TTY, Status, Tempo de Execução e Comando que originou o processo. 2. Mostrar todos os processos com informações detalhadas: # ps aux Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html
Exemplos: 3. Mostrando apenas os processos do usuário fabio: # ps -f -u fabio 4. Mostrar os processos com informações técnicas adicionais, como PPID (PID do processo pai), Flags associadas (F), Valor Nice (NI), prioridade do processo (PRI) e função do kernel no qual o processo está dormente (WCHAN): # ps lax Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html
Exemplos: 5. Classificar os processos em ordem de utilização da CPU ( pcpu ): # ps aux --sort=-pcpu Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html 6. Mostrar o PID, usuário e tempo de execução do processo - que não é exibido por padrão. Usaremos o parâmetro etime (Elapsed Time / Tempo Decorrido): # ps -e -o pid,user,etime Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html
Comando PSTREE O comando pstree permite exibir uma lista hierárquica de processos no formato de árvore. Sintaxe: pstree [opções]
1. pstree -p Inclui PIDs na saída Exemplos Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html Fonte: http://www.planetaunix.com.br/2014/09/verificando-processos-com-os-comandos.html 2. pstree 3670 Exibe a sub-árvore de processos sob o processo de PID 3670:
Bibliografia http:// www.planetaunix.com.br/2014/09/verificando-processo s-com-os-comandos.html http:// www.linuxdescomplicado.com.br/2013/12/comandos-lin ux-dominando-o-comando-top.html http://www.infowester.com