Comece com os primeiros princípios.
Comece definindo o que exatamente o comando que você foi solicitado a usar faz e como as opções especificadas ( -Af
) funcionam. Para fazer isso, leia man ps
:
-A Select all processes.
-f Do full-format listing. This option can be combined with many other UNIX-style options to add additional columns.
Portanto, seu ponto de partida é a saída de todos os processos em execução para o usuário, listados em formato completo. Execute o comando para ver a saída completa antes de tentar realizar qualquer processamento:
ps -Af
Para contar os processos emacs
, você precisará canalizar a saída por meio de uma ferramenta de preenchimento para processar a saída e / ou contar as respectivas correspondências. grep
é uma boa opção, mas para eficiência e simplicidade, usaria awk
:
ps -Af | awk '/emacs/ && !/awk/ { a++ } END { print a }'
Isso pesquisa o padrão /emacs/
, exclui o padrão da própria pesquisa, !/awk/
, incrementa as correspondências { a++ }
e imprime o total { print a }
.
Isso requer apenas um único canal e lida elegantemente com a questão de não retornar o processo de pesquisa em sua contagem.