Obtenha um instantâneo dos processos em execução no seu computador Linux com o ps
comando . Localize processos por nome, usuário ou mesmo terminal com tantos ou poucos detalhes quanto você precisar. Nós mostramos como.
Índice
O coração de todos os sistemas operacionais Linux e semelhantes ao Unix é o kernel. Entre suas muitas responsabilidades está a alocação de recursos do sistema, como RAM e tempo de CPU. Eles devem ser manipulados em tempo real para que todos os processos em execução tenham seu quinhão, de acordo com a prioridade de cada tarefa.
Às vezes, as tarefas podem travar, entrar em um loop apertado ou não responder por outros motivos. Ou eles podem continuar em execução, mas engolem muito tempo de CPU ou RAM, ou se comportam de uma forma igualmente anti-social. Às vezes, as tarefas precisam ser eliminadas como uma misericórdia para todos os envolvidos. O primeiro passo. Claro, é identificar o processo em questão.
Mas talvez você não tenha nenhum problema de tarefa ou desempenho. Talvez você esteja apenas curioso sobre quais processos estão sendo executados dentro de seu computador e gostaria de dar uma olhada por baixo do capô. O ps
comando satisfaz essas duas necessidades. Dá a você um instantâneo do que está acontecendo dentro do seu computador “agora”.
ps
é flexível o suficiente para fornecer as informações de que você precisa, exatamente no formato que você deseja. Na verdade, ps
tem muitas opções. As opções descritas aqui atenderão às necessidades mais comuns. Se você precisar se aprofundar mais ps
do que abordamos neste artigo, verá que nossa introdução torna a página do manual mais fácil de digerir.
A maneira mais fácil de usar ps
é ativá-lo sem parâmetros:
ps
ps
exibe uma lista dos processos iniciados pelo usuário que executou o comando.
As quatro colunas são:
adicionando -e
(selecionar todos os processos) podemos fazer uma ps
lista dos processos que foram iniciados por todos os usuários, não apenas o usuário que está executando o ps
comando. Como essa será uma longa lista, estamos adicionando less
.
ps -e | Menos
A lista de processos é canalizada para less
.
Temos muito mais entradas na lista, mas vemos as mesmas quatro colunas de antes. As entradas com um ponto de interrogação ?
na TTY
coluna não foram iniciadas em uma janela de terminal.
Às vezes, pode ajudar a descobrir um problema ou identificar um processo específico se você puder ver quais processos iniciaram outros processos. Usamos a -H
opção (hierarquia) para fazer isso.
ps -eH | Menos
A indentação indica quais processos são pais de quais outros processos.
Para adicionar um pouco mais de clareza, podemos pedir ps
para adicionar algumas linhas ASCII e desenhar a hierarquia como uma árvore. A opção de fazer isso é a --forest
opção.
ps -eH --forest | Menos
Isso torna mais fácil rastrear quais processos são os pais de outros processos.
Você pode canalizar a saída do ps
meio grep
para a lista de entradas que têm nomes que correspondem ao termo de pesquisa . Aqui, estamos procurando entradas que correspondam ao termo de pesquisa “firefox”:
ps -e | grep firefox
Nesse caso, a saída é uma única entrada para o processo no qual estamos interessados. Claro, se tivéssemos lançado várias instâncias do Firefox, haveria mais de um item retornado na lista.
Para adicionar mais colunas à saída, use a opção -f
(formato completo).
ps -ef | Menos
Um conjunto extra de colunas está incluído na saída de ps
.
As colunas são:
Usando a opção -F
(formato completo extra), podemos obter ainda mais colunas:
ps -eF | Menos
As colunas que obtemos desta vez requerem que a tela seja rolada lateralmente para revelar todas elas.
Pressionar a tecla “Seta para a direita” muda o display para a esquerda.
As colunas que obtemos são:
Depois de encontrar o ID do processo para o processo no qual está interessado, você pode usá-lo com o ps
comando para listar os detalhes desse processo. Use a opção -p
(selecione por ID de processo) para conseguir isso:
ps -p 3403
Os detalhes deste processo estão listados:
Você não está restrito a um ID de processo. Você pode fornecer uma lista de IDs de processo, separados por espaços.
A -C
opção (comando) permite que você pesquise um processo usando o nome do comando. Ou seja, o nome do comando que iniciou o processo. Isso é sutilmente diferente da linha de comando, que pode incluir nomes de caminho e parâmetros ou opções.
ps -C obturador
Os detalhes do processo de obturação são listados.
Para ver os processos que pertencem a um determinado usuário, use a opção -u
(lista de usuários):
ps-u mary
Os processos pertencentes à conta do usuário mary são exibidos.
Para ver os processos associados a um TTY, use a opção -t
(selecione por TTY). Usado sem um número TTY, a -t
opção relata os processos associados à janela do terminal atual.
tty
PST
O tty
comando relata que se trata do pseudo-teletipo 0. Os processos listados por ps -t
estão todos associados ao TTY pts/0
.
Se passarmos um número TTY na linha de comando, devemos obter um relatório dos processos associados a esse TTY.
ps -t 1
Desta vez, os processos estão todos associados ao TTY pts/1
.
Com a -o
opção (formato), você pode selecionar quais colunas deseja incluir na saída ps
. Você especifica as colunas por nome. A (longa) lista de nomes de coluna pode ser vista na página do manual na seção intitulada “Especificadores de formato padrão”. Neste exemplo, estamos optando por ter o tempo de CPU ( pcpu
) e a linha de comando com argumentos ( args
) incluídos na saída.
ps -e -o pcpu, args | Menos
A saída inclui apenas nossas duas colunas solicitadas.
Você pode ter a saída classificada para você usando a --sort
opção. Vamos classificar a saída pela coluna CPU:
ps -e -o pcpu, args --sort -pcpu | Menos
O hífen “ -
” no pcpu
parâmetro de classificação fornece uma ordem de classificação decrescente.
Para ver os dez processos mais intensivos da CPU, canalize a saída por meio do head
comando :
ps -e -o pcpu, args --sort -pcpu | cabeça -10
Obtemos uma lista ordenada e truncada.
Se adicionarmos mais colunas à nossa exibição, podemos classificar por mais colunas. Vamos adicionar a pmem
coluna. Essa é a porcentagem da memória do computador que está sendo usada pelo processo. Sem um hífen ou com um sinal de mais ” +
“, a ordem de classificação é crescente.
ps -e -o pcpu, pmem, args --sort -pcpu, pmem | cabeça -10
Recebemos nossa coluna extra e a nova coluna é incluída na classificação. A primeira coluna é classificada antes da segunda coluna e a segunda coluna é classificada em ordem crescente porque não colocamos um hífen pmem
.
Vamos torná-lo um pouco mais útil e adicionar a coluna ID do processo ( pid
) para que possamos ver o número do processo de cada processo em nossa listagem.
ps -e -o pid, pcpu, pmem, args --sort -pcpu, pmem | cabeça -10
Agora podemos identificar os processos.
Cobrimos uma variedade de maneiras de identificar processos, incluindo nome, comando, usuário e terminal. Também cobrimos maneiras de identificar processos por seus atributos dinâmicos, como uso de CPU e memória.
Assim, de uma forma ou de outra, podemos identificar os processos que estão em execução. Conhecendo seu ID de processo, podemos (se necessário) matar qualquer um desses processos usando o kill
comando. Se quiséssemos matar o processo 898, usaríamos este formato:
sudo kill 898
Se tudo correr bem, o processo é encerrado silenciosamente.
O pkill
comando permite eliminar processos por nome . Certifique-se de identificar o processo correto! Este comando encerrará o processo superior.
sudo pkill top
Novamente, nenhuma notícia é uma boa notícia. O processo é encerrado silenciosamente.
Se você tiver várias cópias de um processo em execução ou se um processo gerou vários processos filho (como o Google Chrome pode fazer), como você pode eliminá-los? Isso é tão fácil. Usamos o killall
comando.
Temos duas cópias do top running:
ps -e | grep top
Podemos encerrar ambos com este comando :
sudo killall top
Nenhuma resposta significa nenhum problema, portanto, ambos os processos foram encerrados.
A saída ps
é uma visualização instantânea. Não é atualizado. Para obter uma visão atualizada dos processos, use o top
comando. Ele fornece uma visão dinâmica dos processos em execução em seu computador . O display é dividido em duas partes. Há uma área de painel na parte superior da tela composta por linhas de texto e uma tabela na parte inferior da tela composta por colunas.
Comece top
com este comando:
topo
As colunas contêm informações sobre os processos:
O status do processo pode ser um dos seguintes:
Pressione a tecla “Q” para sair top
.
Certifique-se de que é o que você está procurando e verifique se não vai causar problemas. Em particular, vale a pena verificar com -H
(hierarquia) e --forest
opções para ter certeza de que não há nenhum processo filho importante que você tenha esquecido.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…