O comando é pgrep
.
Para encontrar todos os processos que começam com A
ou a
, somente PID:
pgrep '^[Aa]'
Você pode usar qualquer padrão ERE (Extended Regular Expression).
Para obter o nome do processo, use -l
:
pgrep -l '^[Aa]'
Para obter uma linha de comando completa, use -a
:
pgrep -a '^[Aa]'
Você também pode combinar o padrão com a linha de comando completa usando a opção -f
.
Verifique man pgrep
.
Só para observar, seu padrão Regex está errado, o token Regex $
corresponde ao final de uma linha, não inicia, ^
corresponde a início. Portanto, seu padrão, [Aa]$
corresponderia a qualquer nome de processo (ou linha de comando completa se -f
for usado) com A
ou a
no final.
Também evite usar:
ps -ef | grep ...
isso é desajeitado e envolve desova desnecessária de um processo extra, e um canal anônimo, onde pgrep
pode fazer isso facilmente, e de uma só vez também. Além disso, pgrep
(e seu irmão pkill
) foi especificamente projetado para esse propósito.