0
私は、fork、vfork、およびclone関数を含む少しの譲歩をしています。親と子プロセスの両方のユーザー、システム、リアルタイムを測定する必要があります。測定ユーザとシステム時間は、実際の時間を測定するために、私は値と子プロセスがプロセスとその子の測定時間
_exit(times(NULL)-procReal)
を呼び出して、私は他の変数にこの値を追加保存し、SYS/times.hからの時間を呼び出して簡単です(以下のコードを参照してください) 。
私の値は、フォークの直前またはフォークの直後に計算されるべきですか?
procReal=times(NULL);//here
#ifdef FORK
pid=fork();
#elif VFORK
pid=vfork();
#endif
procReal=times(NULL);//or maybe here
if (pid <0)
error_sys_f("fork failed");
else if (pid ==0)
{
foo();
}
else
{
wait(&statLoc);
if (WIFEXITED(statLoc))
childrenReal+=WEXITSTATUS(statLoc);
else
error_sys_f("unnormal exit from children");
}
procRealはグローバル変数です。