Como encontrar o PID de um processo Linux com PIDOF ou PGREP

Nov 15, 2024
Linux

Trabalhar com um processo Linux geralmente significa conhecer seu ID de processo ou PID. É um número exclusivo fornecido a cada software em execução. Aqui estão duas maneiras de descobrir o que é.

O que é um ID do processo Linux?
Como obter um PID Linux com o comando pidof
Como encontrar PIDs com o comando PGREP no Linux

O que é um ID do processo Linux?

Internamente, o Linux acompanha seu processo de execução, alocando -lhes um número de identificação exclusivo, chamado ID do processo ou PID. Todo aplicativo, utilidade e daemon em execução têm um PID.

PIDs são valores inteiros simples. Um processo recém-iniciado receberá um PID mais alto que o último PID emitido. Portanto, o processo com o PID mais alto é o mais novo - ou seja, mais recentemente - o processo lançado. Isso continua até que o sistema atinja o valor máximo para um PID.

O limite superior para um PID é 32768. Quando esse número é atingido, o Linux remonta ao início e procura um PID que se tornou livre porque o processo que possuía anteriormente foi terminado.

O processo com um PID de 1 é o primeiro processo lançado quando o Linux é lançado pelos processos de inicialização. Em sistemas baseados em Systemd que serão Systemd . Em outros sistemas, é provável que seja iniciar , embora algumas distribuições Linux usem alternativas como Openrc ou S6 .

Às vezes, é útil descobrir o PID de um processo, geralmente porque você deseja executar alguma ação nesse processo. Aqui estão dois métodos diferentes para encontrar o PID de um processo quando você conhece o nome do processo.

RELACIONADO: O que são PIDs Unix e como eles funcionam?

Como obter um PID Linux com o comando pidof

O pidof O comando pode ser considerado como a combinação de "PID" e "de". É como perguntar qual é o PID desse processo? Se usarmos o comando sem parâmetros, ele não faz nada. Ele o retorna silenciosamente ao prompt de comando. Precisamos especificar um nome de processo.

pidof nos diz que o pid do shell bash é 8304. Podemos verificar isso com o ps comando. Tudo o que precisamos fazer é ligar ps sem parâmetros. Ele relatará os processos que estão em execução na sessão atual.

Porque ps Relatórios sobre todos os processos que ele pode encontrar, que incluirão a si mesmos, ele nos diz que há um Bash processo e a ps processo de execução. Como esperávamos, o Bash processo tem o mesmo pid que pidof relatado em.

Se você tem mais de uma janela do terminal aberta, pidof vai relatar sobre todos eles.

Observe que os PIDs estão listados do mais alto para o mais baixo ou, em outras palavras, do mais recente ao mais antigo.

O que isso não mostra é que você pode não ser o proprietário de todos esses processos. pidof Encontra todos os processos com nomes correspondentes, independentemente de quem os possui. Vamos olhar mais profundamente, canalizando a saída para grep . Estamos usando o -e (selecione todos os processos) e o -f (listagem completa) Opções com ps .

Dois dos processos Bash pertencem ao usuário Dave, o terceiro pertence ao usuário Mary.

Às vezes, um aplicativo gera muitos processos, cada um dos quais recebe seu próprio PID. É isso que obtemos com o Google Chrome.

Por padrão, pidof relatórios sobre todos os processos. Se quisermos, podemos pedir apenas o mais recente desses processos. O -s (Opção de tiro único) faz exatamente isso.

Para usar o matar comando para matar manualmente todos os cromada Os processos seriam tediosos. Se capturarmos a lista de processos em uma variável, podemos passar essa variável para o matar comando. O matar O comando pode aceitar vários PIDs em seu comando, por isso aceita alegremente nossa entrada e mata todos os processos para nós.

O primeiro comando coleta a saída de pidof e atribui à nossa variável, que estamos nomeando pid . Não precisamos eco Na tela, estamos apenas fazendo isso para mostrar o que nossa variável vale.

Passamos a variável para o matar comando, então use pidof Mais uma vez para verificar se permanecem algum processo de Chrome. Todos eles foram mortos.

Uma peculiaridade de pidof é que não retornará o pid de um script de shell. Ele retorna o pid do Bash Shell que está executando o script. Para ver a concha que está executando um script, precisamos usar o -x (scripts) opção.

pidof Retorna o pid de uma casca de festa, e ps mostra -nos que há duas conchas em execução. Um é a concha que executa o pidof Comando, e o outro é o shell executando o script.

Como encontrar PIDs com o comando PGREP no Linux

O PGREP O comando funciona um pouco como pidof na obtenção de IDs de processo no Linux. No entanto, isso não encontra apenas processos que correspondam exatamente à pista de pesquisa, também retorna os PIDs de qualquer processo cujo nome contém o texto da pesquisa.

Aqui está um exemplo em um computador que tem o Firefox em execução.

Todos esses comandos encontram o processo do Firefox e retornam o PID. Mas se você entrou no comando:

Por conta própria, como você saberia se o PGREP havia encontrado FI refO x e não, digamos, um Dameon chamado P Refor md?

Se você adicionar o -eu (Nome da lista) Opção, o PGREP listará o nome do processo ao lado do PID.

Se houver várias instâncias de um processo de correspondência, elas estarão listadas.

Observe que eles estão listados em ordem crescente, que é a ordem oposta à saída de pidof . Eles estão listados do processo mais antigo ao processo mais novo. Como vimos com pidof , nem todos os processos listados necessariamente pertencem a você.

O -você (ID do usuário) A opção permite pesquisar processos que correspondam ao texto da pesquisa e pertencem ao nomeado do utilizador .

Desta vez, vemos três processos de bash nos resultados. O outro está sendo usado por Mary .

E podemos pedir para ver todos os processos para um usuário específico.

Para ver a linha de comando completa, use o -a (Lista completa) opção.

Uma palavra sobre a propriedade do PID

Nem todos os processos do sistema são de propriedade de o usuário raiz . Muitos são, é claro, mas não todos eles. Por exemplo, este comando funciona:

Falha porque raiz não possui esse processo. O proprietário real é um usuário do sistema chamado "Avahi". Usando o nome de usuário correto, o comando funciona.


Linux - Artigos mais populares

O que há de novo no Ubuntu 21.04 ‘Hirsuto Hippo’

Linux Apr 22, 2025

A nova versão de Ubuntu 21.04. , o hipopótamo Hirsute, foi lançado em 22 de abril de 2021. É um lançamento provisório da popular distribuição do Linux, com apenas nove..


Como usar a expansão de cinta na Shell Bash do Linux

Linux May 12, 2025

Fatmawati Achmad Zaenuri / Shutterstock A expansão da chave é uma técnica útil para gerar listas de strings que podem ser usadas em scripts e aliases e na ..


O 6 Melhor Lightweight Linux Distros

Linux Jul 27, 2025

3DMI / Shutterstock.com. Se o seu computador Windows ou Mac for velho e lutando para acompanhar, instalar o Linux pode dar-lhe uma nova locação de vida. As d..


O que há de novo no GNOME 40?

Linux Jul 23, 2025

Fundação Gnome. O GNOME 40 tem mais que um novo esquema de numeração. Junto com seu novo visual vem uma nova maneira de trabalhar. As antigas metáforas ..


O que há de novo no Debian 11 “Bullseye”

Linux Jul 22, 2025

Debian , o progenitor de muitas outras distribuições do Linux, fez a liberação 11 disponível no estágio de teste. Você está pesando as virtudes da atualização ou você..


Como configurar ou desativar notificações de atualização do Linux Mint

Linux Jul 9, 2025

Tinha o suficiente das notificações de atualização irritantes do Linux Mint? Ou talvez você esteja tão preocupado em ficar atualizado que você quer vê-los ainda mais? De qualquer f..


Como adicionar um usuário ao arquivo sudoers no Linux

Linux Oct 30, 2025

Se um sudo O comando no Linux recebe uma mensagem de que um usuário "não está no arquivo sudoers", você precisará entrar na lista "sudoers". Vamos adicionar um usuário a sudoer..


Como listar os serviços Linux com o SystemCTL

Linux Oct 18, 2025

Seu computador Linux depende de muitas tarefas de fundo chamadas serviços ou daemons. Em distribuições baseadas no SystemD, você possui comandos internos que permitem ver quais serviços es..


Categorias