Outras respostas já mencionaram que ps aux
adiciona um cabeçalho, então você precisa da opção --no-heading
também. O que mais podemos fazer é usar o comando pgrep
para obter PIDs de processo e, em seguida, contá-los.
Basicamente, podemos fazer
pgrep '^.*$' | awk 'END{print NR}'
O truque aqui é que END{}
bloco de código é sempre executado após o processamento do arquivo, stdin ou pipeline e NR permanece inalterado, que é o "número de registros" ou o número de linhas se for apenas um arquivo ou gasoduto. Quanto a pgrep
, estamos apenas combinando qualquer processo com ^.*$
expressão regular, obtendo assim uma lista de todos os PIDs.
E para a contagem de linhas, você pode usar literalmente qualquer método de Como faço para contar linhas de texto? pergunta, não t só tem que ser awk
.