Identify Tasks / Process com 7 dias de idade no linux

0

Como posso identificar os processos em execução desde 7 dias no Linux?

    
por UKR 24.05.2013 / 07:09

1 resposta

1

Aqui está um começo:

ps -eoetime,pid,user,cmd --sort -etime

Você pode selecionar qualquer informação que queira exibir, veja man ps para a lista longa e longa. O comando acima lista todos os processos classificados em ordem decrescente pelo tempo decorrido. Se você deseja exibir apenas os processos que estão sendo executados há pelo menos sete dias, será necessário fazer algo com grep ou awk ; Nesse caso, talvez você queira apenas imprimir o etime e o pid , já que poderá imprimir os dados desejados nos processos específicos mais tarde.

Infelizmente, o formato etime é mais projetado para pessoas do que para scripts, mas o seguinte deve funcionar (embora eu não tenha testado):

ps -eoetime=,pid= | awk 'int(substr($1,1,index($1,"-"))) >= 7 { print }'

Breve explicação das opções de linha de comando:

-e             show all processes
-eo...         same as -e -o...
-oetime=,pid=  for each process, print the elapsed time and pid.
               The '=' suppress the column headers
--sort -etime  sort the processes in descending order by elapsed time
               (+etime would have been ascending order)
    
por 24.05.2013 / 07:30