Para um processo em execução, você pode fazer isso:
PID=5462
command ps -p "$PID" -o etime
command ps -p "$PID" --no-headers -o etime
Como um recurso geral, você pode modificar o prompt do seu shell. Esta é a minha definição de prompt bash:
TERM_RED_START=$'3[1m3[31m'
TERM_RED_END=$'3(B3[m'
PS1='\nec:$(ec=$?; if [ 0 -eq $ec ];
then printf %-3d $ec;
else echo -n "$TERM_RED_START"; printf %-3d $ec; echo "$TERM_RED_END";
fi) \t \u@\h:\w\nstart cmd:> '
PS2="cont. cmd:> "
A parte relevante para você é \t
do tempo.
Isso não resolve todos os problemas, no entanto. O novo prompt mostrará quando o processo terminou, mas o primeiro prompt pode ter sido bastante antigo quando o comando a ser medido foi iniciado. Então, lembre-se de renovar o prompt antes de iniciar comandos de longa execução ou lembrar da hora atual em que deseja saber quanto tempo o processo atual demorará.
Para uma solução completa, você precisa de um recurso de auditoria (que registra o tempo de início e término dos processos). Mas isso pode causar uma quantidade enorme de dados se não puder ser restrito ao shell.