Buscando Processos com pgrep - Linux
O identificador do processo, ou PID, é um atributo fundamental. Com o PID, é possível manipular processos. A ferramenta pgrep permite buscar o identificador de um processo e algumas informações adicionais com base em um padrão específico:
O identificador do processo, ou PID, é um atributo fundamental. Com o PID, é possível manipular processos. A ferramenta pgrep permite buscar o identificador de um processo e algumas informações adicionais com base em um padrão específico:
pgrep [opções] padrão
A ferramenta recebe um padrão obrigatório que o processo deve corresponder. O parâmetro de opções determina como esse padrão será interpretado ou aplicado.
Aqui estão as principais opções que podem ser utilizadas com o comando:
: mostra uma lista de identificadores e o nome do comando.-l, --list-name
: exibe uma lista de identificadores e o nome completo do comando.-a, --list-full
: busca todos os processos que NÃO correspondem ao padrão.-v, --inverse
: mostra a quantidade de processos que correspondem ao padrão.-c, --count
: utiliza o nome completo do processo.-f, --full
: ignora maiúsculas e minúsculas no padrão.-i, --ignore-case
: seleciona os processos mais recentes.-n, --newest
: seleciona os processos mais antigos.-o, --oldest
: escolhe processos que foram iniciados há pelo menos segundos.-O, --older <segundos>
: seleciona apenas os processos filhos de um processo pai específico.-P, --parent <PPID,...>
: seleciona processos de um determinado usuário.-u, --euid <ID,...>
: exige correspondência exata com o nome do comando.-x, --exact
Por exemplo, para mostrar os identificadores de todos os processos executados com o comando gnome-shell
programicio@Programicio:~$ pgrep gnome-shell 2645 2819
Identificadores de todos os processos relacionados ao navegador Google Chrome:
programicio@Programicio:~$ pgrep chrome 3822 10848 ... 11018
Agora, vamos exibir os identificadores de todos os processos cujo comando contém gnome
programicio@Programicio:~$ pgrep *gnome* 2418 2520 ... 3581
Neste caso, o asterisco *
*gnome*
gnome-shell
gnome-terminal-
Ou exiba todos os processos com comandos que contêm "gnome
programicio@Programicio:~$ pgrep -a *gnome* 2418 /usr/bin/gnome-keyring-daemon --foreground --components=pkcs11,secrets --control-directory=/run/user/1000/keyring 2520 /usr/libexec/gnome-session-binary --session=ubuntu ... 3581 /usr/libexec/gnome-terminal-server
Vamos obter a quantidade de tais processos:
programicio@Programicio:~$ pgrep -c *gnome* 7
Agora selecionamos processos por usuário (neste caso, pelo usuário "programicio"):
programicio@Programicio:~$ pgrep -l -u programicio 2383 systemd 2388 (sd-pam) ... 2819 gnome-shell-cal
É importante notar que também podemos obter identificadores de processos pelo nome do comando usando a ferramenta pidof
programicio@Programicio:~$ pidof chrome 12459 12362 12359 12343 ...