Para verificar quantos segundos se passaram desde o início de um processo, você pode usar este pequeno script de shell:
#!/bin/bash
init=`stat -t /proc/$1 | awk '{print $14}'`
curr=`date +%s`
seconds=`echo $curr - $init| bc`
name=`cat /proc/$1/cmdline`
echo $name $seconds
salve-o em um arquivo chamado sincetime
e dê permissões para seu usuário executá-lo e colocá-lo em seu $ path. Então, o comando:
sincetime <pid>
retornará o nome do processo com o pid fornecido e sua idade em segundos.
Além disso, você pode combiná-lo com grep e ps e ter isto:
#!/bin/bash
pidlist=`ps ax | grep -i -E $1 | grep -v grep | awk '{print $1}' | grep -v PID | xargs echo`
for pid in $pidlist; do
sincetime $pid
done
Se você colocar isso em um arquivo chamado “greptime” com permissão x, em seu caminho e blablabla, você pode executá-lo assim:
greptime <pattern>
para obter todos os processos cujos nomes correspondem a <padrão> (uma string ou regexp) e suas idades em segundos.