Non ho controllato la fonte di time . Ma ce ne sono wait3 e wait4 funzioni per ottenere rusage del processo figlio:
pid_t wait3(int *status, int options, struct rusage *rusage);
pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage);
struct rusage contiene il valore massimo della dimensione del resident set.
La pagina man getrusage(2) descrive il struct rusage .
Ho guardato la fonte (è molto breve). Usa getrusage() .