Lo standard ps
è sufficiente.
while true; do ps o pcpu,rsz -p $pid | tail -n1 >>usage.log; sleep $interval; done
risultato:
0.0 3352
0.3 31640
0.4 36924
0.5 36052
...
Il primo campo è l'utilizzo della CPU in%, il secondo è l'utilizzo della memoria fisica in kbyte.
Se ti interessa la tempistica precisa e vuoi la CPU in percentuale:
watch --precise -n 1 'top -b -n 1 -p [PID] | tail -n 1 | awk "{print \$9}" >> [PID].log'