|

楼主 |
发表于 2007-7-13 22:10:02
|
显示全部楼层
int main(){
FILE * Outfile;
char buf[20];
printf("open file!\n");
Outfile=fopen("DataToGps","w");
if(Outfile==NULL){
perror("Error in foprn!");
exit(1);
}
printf("file opened!\n");
pid_t fork1,fork2;
fork1=fork();
if(fork1<0){
printf("fork1 creat erro!\n");
}
else{
if(fork1!=0){
fork2=fork();
if(fork2<0){
printf("fork2 creat erro!\n");
}
else{
if(fork2==0){
printf("fork1 creat ok! ID:%d \n",getpid());
execl("./fork2","fork2",0);
perror("exec error");
}
else{
printf("fork ok! ID:%d \n",getpid());
fwrite("tEST DATA!",1,8,Outfile);
//write(DataToGps[OUTPUT],"test data!\n",strlen("test data!"));
}
}
}
else{
//close(DataToGps[OUTPUT]);
//read(DataToGps[INPUT],buf,20);
printf("fork1 creat ok! ID:%d \n",getpid());
execl("./fork1","fork1",0);
perror("exec error");
}
}
while(1){;}
}
通过这个管道:会在 Outfile=fopen("DataToGps","w");
后阻塞,请问有什么解决方法么? |
|