o comando ps aux e o comando ps explicaram
este tutorial explica como usar o comando ps no Linux. Ele também fornece mais de 10 exemplos práticos do comando ps. Aprenda a ler o resultado do comando ps aux em detalhe.
uma breve introdução do comando ps
o comando ps (estado do processo) é um dos comandos mais usados no Linux. Normalmente é usado para obter informações mais detalhadas sobre um processo específico ou todos os processos. Por exemplo, é usado para saber se um determinado processo está em execução ou não, quem está executando qual processo no sistema, qual processo está usando memória maior ou CPU, quanto tempo um processo está em execução, etc.
configuração do laboratório
para a prática, iniciar algumas aplicações e mantê-las em execução. Mude a conta do Usuário e repita o mesmo processo.
agora suponha que você é um administrador de sistema e sendo um administrador de sistema você quer saber o que está acontecendo no sistema.Neste caso, você pode usar o comando ps para obter as informações necessárias.
Usando o comando ps
Abra o terminal e execute o comando ps
Sem qualquer opção e argumento, o comando ps mostra apenas o processo de execução sob a conta de usuário conectada a partir do terminal atual.
Você pode se perguntar Por que o comando ps está mostrando dois processos, enquanto não executamos nenhum processo deste terminal até agora.
Well … first process shows the process under which this terminal is opened. Este processo permanece aberto, até que o terminal seja aberto.
O segundo processo mostra o último comando executado neste terminal.
especificando as opções com o comando ps
o comando ps aceita opções em três estilos.
BSD estilo UNIX: – neste estilo, as opções são fornecidas sem qualquer traço líder (como”aux”).
AT & T estilo Unix: – neste estilo, as opções são fornecidas com um traço líder (como”- aux”).
estilo GNU Linux: – neste estilo, as opções são fornecidas com traços de liderança dupla (como “–sort”).
embora o comando PS aceite opções no estilo mix, você deve usar sempre apenas um estilo para especificar as opções.
exemplos Básicos do comando ps
Para imprimir todos os processos em execução no sistema, use qualquer um dos seguintes comandos.
$ps –A$ps -e
As opções A e e fornecer visão geral resumida dos processos em execução.Imprimir a descrição detalhada, utilize as opções-f (formato completo) e F (extra formato completo) com estas opções.
para ver a mesma saída no estilo BSD Unix, use as opções”aux”.
o comando “ps aux” é o comando mais frequentemente usado pelos administradores Linux. Antes de passarmos ao próximo exemplo, vamos entender as opções usadas neste comando em detalhe.
ps aux opções de comandos
a: – esta opção imprime os processos em execução de todos os utilizadores.
u: – esta opção mostra a coluna do utilizador ou do dono na saída.
x:- Esta opção imprime os processos que não foram executados a partir do terminal.
coletivamente as opções ” aux ” imprimem todo o processo em execução no sistema, independentemente de onde eles foram executados.
A saída do comando ps aux descrição coluna a coluna
Coluna | Descrição |
UTILIZADOR | A conta de usuário sob a qual este processo de execução |
PID | Processo de ID do processo |
%da CPU | tempo de CPU utilizado por este processo (em percentagem).memória física utilizada por este processo (em percentagem). |
VSZ | memória Virtual utilizada por este processo (em bytes). |
RSS | Tamanho do conjunto residente, a memória física não swappable utilizada por este processo (em KiB) |
Terminal a partir do qual este processo é iniciado. Ponto de interrogação?) signo representa que este processo não é iniciado a partir de um terminal. | |
STAT | Estado de processo. Explicado na mesa seguinte. |
INICIAR | hora e data de início esse processo |
TEMPO | Total de tempo de CPU utilizado por este processo |
LINHA | O comando com todos os seus argumentos, que começou este processo |
ps aux stat código com descrição
D | ininterrupta do sono (geralmente IO) |
R | executar ou runnable (na fila) |
S | passível de interrupção de suspensão (espera para um evento completo) |
T | interrompido pelo trabalho de sinal de controle |
t | parado por depurador durante o rastreamento |
w | paginação (não válido desde o 2.6.xx kernel) |
x | morto (nunca deve ser visto) |
Z | extinta (“zumbi”) do processo, terminada, mas não usufruídos por seu pai |
< | de alta prioridade (não é bom para outros usuários) |
N | de baixa prioridade (bom para outros usuários) |
L | tem páginas bloqueado na memória (em tempo real e personalizado IO) |
s | é uma sessão líder |
l | é multi-threaded (usando CLONE_THREAD, como NPTL pthreads fazer) |
+ | é no grupo do processo principal |
pontos-chave
- a utilização da CPU é expressa como a percentagem de tempo gasto a correr durante toda a vida de um processo.
- O tamanho e os campos RSS não contam algumas partes de um processo, incluindo as tabelas de páginas, pilha de kernel, struct thread_info, e struct task_struct.
- tamanho é o tamanho virtual do processo (Código+dados+pilha).
- processos marcados <defunct> são processos mortos (chamados “zombies”) que permanecem porque seus pais não os destruíram corretamente.
- Se o comprimento do Utilizador for maior do que o comprimento da coluna de visualização, o utilizador será truncado.
10+ exemplos práticos do comando ps
para mostrar todo o processo executado sob a conta de utilizador root, use o seguinte comando.
$ps -U root -u root
Neste comando:-
-U: – Seleccione o processo com base no ID ou nome do utilizador real.
-u: – selecione o processo com base no ID ou nome do Usuário efetivo.
RUID (ID do Utilizador Real) representa o nome do utilizador, enquanto EUID (ID do utilizador efectivo) descreve o utilizador cujas permissões de acesso a ficheiros são utilizadas pelo processo.
para mostrar todo o processo executado por uma conta de utilizador específica, use o seguinte comando.
$ps –U –u
para mostrar todo o processo executado sob um determinado grupo, use o seguinte comando.
$ps –G
para uma visão geral detalhada, também podemos combinar a opção –G com a opção –F.
$ps –FG
para mostrar todo o processo na hierarquia, podemos usar o seguinte comando.
$ps –A --forest
exibindo apenas uma coluna específica
por omissão, o comando ps mostra todas as colunas. Se estamos interessados apenas em colunas particulares, podemos limitar a saída especificando os nomes de colunas necessários como argumentos.
Por exemplo, para ver apenas as colunas PID, USER e CMD, podemos usar o seguinte comando.
$ps –eo pid,user,cmd
Encontrar o processo que está usando a memória mais alta
Por padrão, o comando ps não ordenar a saída. Ao definir a ordem de ordenação para %MEM, podemos encontrar os processos que estão consumindo memórias mais altas.
para definir a ordem de ordenação, é usada a opção –sort=. Também podemos combinar esta opção com outras opções para obter a saída mais específica.
Por exemplo, vamos mostrar apenas os campos específicos e ordená-los por usagens de memória.
$ps –eo pid,user,%mem,cmd --sort=-%mem
a Limitação de saída
Por padrão, o comando ps não limita o resultado na saída.Se estamos interessados apenas em conhecer os três processos top que estão consumindo a memória mais alta, em vez de exibir a saída do comando ps no terminal, podemos redirecioná-lo para o comando head.
Por omissão, o comando head mostra as 10 linhas superiores da fonte fornecida.Podemos anular este comportamento padrão, especificando os números de linha necessários.
para mostrar apenas os três processos de topo, podemos usar a opção”- n 4 ” com o comando head.
para 3 resultados, forneça o dígito 4 como argumento. Como na saída do comando ps, a primeira linha é ocupada pelos títulos.
encontrando o processo que está usando a CPU mais alta
assim como descobrimos os processos de maior consumo de memória,também podemos encontrar os processos de maior consumo de CPU ordenando a saída com base na coluna CPU.Por exemplo, seguindo o comando imprime top 3 processos ordenados pela utilização do CPU.
$ps –eo pid,user,%cpu,cmd –-sort=-%cpu | head –n 4
Encontrar o número total de processos de execução por um usuário
Para descobrir o número total de processo de execução por um usuário, use o seguinte comando
$ps –U –u | wc –l
Leave a Reply