wait3
暴风lay 2011-11-14 09:21:39 #include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/wait.h>
#include<sys/types.h>
#include<sys/resource.h>
#include<sys/time.h>
int main()
{
pid_t pid;
struct rusage *ru;
if((pid=fork())<0)
{
perror("fork error");
exit(1);
}
else if(pid==0)
{
printf("chile\n");
exit(0);
}
else
printf("parents\n");
if(wait3(NULL,0,ru)==-1)
{
perror("wait3 error");
exit(1);
}
printf("utime:%d\n",ru->ru_utime);
printf("stime:%d\n",ru->ru_stime);
printf("minflt:%d\n",ru->ru_minflt);
exit(0);
}
这样的程序会提示wait3 error: Bad address
如果把struct rusage *ru 改成struct rusage ru 然后下面的ru做相应的改动,就可以运行了,
请问各位是怎么回事,好像是结构指针的问题?谢谢