Como visualizar a linha de comando dos processos executados nos últimos 10 segundos

3

Existe uma visão para registrar e listar os processos executados nos últimos 10 segundos?

Eu quero especialmente rastrear a linha de comando.

    
por Madhur Ahuja 16.01.2013 / 08:35

2 respostas

2

Se o processo não estiver concluído, você poderá encontrá-lo:

ps axho etime,cmd| sed ':a;s/^\(0*\) //g;ta' | sort | less

Mas se o processo já tiver terminado, é menos certo:

Você precisa saber onde pesquisar ...

Atenção! seguir o trabalho somente se o binário não estiver na memória cache: se eles não foram acessados de algum tempo.

Talvez um ls -ltru simples seja suficiente:

/bin/ls -ltru /etc/init.d | tail

Se mais, um comando mais sofisticado poderia ser:

find /usr/bin -type f -amin -1

find ${PATH//:/ } -type f -amin -1

find ${PATH//:/ } /home/*/bin -type f -amin -1

mostrará todos os arquivos acessados em menos de um minuto.

Por 10 s, é mais difícil:

while read time;do
    read name
    [ $time -lt 10 ] && echo $name
  done < <(find ${PATH//:/ } /home/*/bin -type f -amin -1 -print0 |
    xargs -0 --no-run-if-empty stat -c $(date +%s)$'-%X ;"%n\n"' |
    bc)
    
por 16.01.2013 / 09:36
0

Tente isto:

ps k-etime h -eo etimes,command | while read etime comm; do [ $etime -lt 10 ] && echo -e "$etime\t$comm"; done

Isso mostrará todos os processos iniciados nos últimos 10 segundos e ainda em execução.

    
por 16.01.2013 / 08:57

Tags