Risposte:
Per un processo in esecuzione puoi fare questo:
PID=5462
command ps -p "$PID" -o etime
command ps -p "$PID" --no-headers -o etime
Come funzionalità generale è possibile modificare il prompt della shell. Questa è la mia definizione di prompt di bash:
TERM_RED_START=$'\033[1m\033[31m'
TERM_RED_END=$'\033(B\033[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:> "
La parte rilevante per te è \t
per il momento.
Questo, tuttavia, non risolve tutti i problemi. Il nuovo prompt mostrerà quando il processo è terminato ma il precedente prompt potrebbe essere stato piuttosto vecchio quando è stato avviato il comando da misurare. Quindi, o ti ricordi di rinnovare il prompt prima di avviare comandi a esecuzione prolungata o devi ricordare l'ora corrente quando vuoi sapere quanto tempo avrà impiegato il processo corrente.
Per una soluzione completa è necessaria una funzione di controllo (che registra l'ora di inizio e di fine dei processi). Ma ciò può causare un'enorme quantità di dati se non può essere limitato alla shell.