Você está executando muitos processos extremamente curtos. Você não vai vê-los muito na saída superior.
Top mede a atividade do sistema periodicamente (geralmente uma vez por segundo). A cada atualização, ele passa pela lista de processos e coleta estatísticas de cada processo. Dependendo da sorte do sorteio do agendamento, pode haver zero ou um ls
do processo nesse ponto. Se top
não vir um processo ls
, ele não exibirá um. Mesmo que top
veja um processo que é ls
, obter as estatísticas não é atômico; se esse processo for interrompido entre o momento em que top
enumera os processos e o tempo que leva para ler as estatísticas desse processo, o processo não será mostrado. Então, com muita frequência, não há nenhum processo ls
para listar.
Mesmo quando há um processo ls
, esse processo não é executado há muito tempo, por isso é responsável por uma parte insignificante do uso da CPU no último segundo. É provável que esteja em algum lugar perto da parte inferior da lista.
Como o uso da CPU não é medido atomicamente e é apenas uma aproximação, as estatísticas de uso total da CPU coletadas pelo kernel nem sempre correspondem à soma do processo coletado de estatísticas de uso por processo. As somas corresponderiam a processos suficientemente longos, mas quando há processos de curta duração, como este exemplo ilustra, eles podem diferir muito.