Processos no Linux
Este artigo descreve de maneira básica o tão importante conceito de processos no Linux e, em seguida, mostra quais os meios mais usados para controlá-los e manipulá-los.
Parte 4: Verificando processos com o ps
O ps é um comando de extrema importância para o gerenciamento de processos. Por ele, é possível saber quais os processos em execução atualmente, quais os UIDs e PIDs correspondentes, entre outros.
Se somente ps for digitado na linha de comando, geralmente o sistema mostra quais os processos do usuário. É preciso usar uma combinação de opções para obter mais detalhes.
As opções mais importantes são os seguintes:
$ ps aux
Como exemplo, o resultado obtido com esse comando foi o seguinte:
Se somente ps for digitado na linha de comando, geralmente o sistema mostra quais os processos do usuário. É preciso usar uma combinação de opções para obter mais detalhes.
As opções mais importantes são os seguintes:
- a - mostra todos os processos existentes;
- e - exibe as variáveis de ambiente relacionadas aos processos;
- f - exibe a árvore de execução dos processos;
- l - exibe mais campos no resultado;
- m - mostra a quantidade de memória ocupada por cada processo;
- u - exibe o nome do usuário que iniciou determinado processo e a hora em que isso ocorreu;
- x - exibe os processos que não estão associados a terminais;
- w - se o resultado de processo não couber em uma linha, essa opção faz com que o restante seja exibido na linha seguinte.
$ ps aux
Como exemplo, o resultado obtido com esse comando foi o seguinte:
Note que usando a combinação lax, o resultado mostra mais detalhes:
$ ps lax
A seguir, segue a descrição dos campos mostrados anteriormente e alguns que só são mostrados com a combinação lax:
- USER - nome do usuário dono do processo;
- UID - número de identificação do usuário dono do processo;
- PID - número de identificação do processo;
- PPID - número de identificação do processo pai;
- %CPU - porcentagem do processamento usado;
- %MEM - porcentagem da memória usada;
- VSZ - indica o tamanho virtual do processo;
- RSS - sigla de Resident Set Size, indica a quantidade de memória usada (em KB);
- TTY - indica o identificador do terminal do processo;
- START - hora em que o processo foi iniciado;
- TIME - tempo de processamento já consumido pelo processo;
- COMMAND - nome do comando que executa aquele processo;
- PRI - valor da prioridade do processo;
- NI - valor preciso da prioridade (geralmente igual aos valores de PRI);
- WCHAN - mostra a função do kernel onde o processo se encontra em modo suspenso;
- STAT - indica o estado atual do processo, sendo representado por uma letra: R - executável; D - em espera no disco; S - Suspenso; T - interrompido; Z - Zumbi. Essas letras podem ser combinadas e ainda acrescidas de: W - processo paginado em disco; < - processo com prioridade maior que o convencional; N - processo com prioridade menor que o convencional; L - processo com alguns recursos bloqueados no kernel.
Para conhecer/saber como funcionam processos nos *nix está completo. Começar a aprender com este artigo é no mínimo começar por um bom começo.
Acrescentei-o aos meus favoritos.