कार्यक्रम 1 से एन तक संख्याओं की गणना करता है .. बाल प्रक्रिया EVEN संख्याओं की गणना की गणना करती है। अभिभावक प्रक्रिया विषम संख्याओं की गणना की गणना करती है। मैं मूल प्रक्रिया में बाल प्रक्रिया का वापसी मूल्य प्राप्त करना चाहता हूं। मैं यह कैसे कर सकता हूंबच्चे प्रक्रिया से वापसी मूल्य कैसे प्राप्त करें?
#include<stdio.h>
#include<errno.h>
#include<unistd.h>
#include<stdlib.h>
#include<fcntl.h>
int main()
{
int N;
int id;
int fd_result;;
printf("Enter N till which you want the sum: \n");
scanf("%d",&N);
if ((fd_result=creat("result", 600))== -1)
{
perror("Error creating file");
exit(1);
}
if ((fd_result=open("result",O_TRUNC | O_RDWR)) == -1)
{
perror("Error Opening file");
exit(1);
}
if ((id=fork())<0)
{
perror("Error occurred forking....!");
exit(errno);
}
if (id == 0)
{
int i;
int sum=0;
for (i=0;i<=N;i=i+2)
sum+=i;
printf("Child sum: %d",sum);
if (write(fd_result,&sum,sizeof(int))==-1) perror("Error writing to file");
_exit(0);
}
if (id > 0)
{
int i;
int sum=0;
int sum_odd;
for (i=1;i<=N;i=i+2)
sum+=i;
lseek(fd_result,0,SEEK_SET);
read(fd_result,&sum_odd,sizeof(int));
printf("\nThe sum is: %d",sum+(int)sum_odd);
}
close(fd_result);
return 0;
}
Pls मुझे बताएं कि मुझे बाल प्रक्रिया का वापसी मूल्य कैसे प्राप्त होता है?
मैं वास्तव में इसका उपयोग कैसे करूं? मैं इसे पाने में सक्षम नहीं हूं। असल में यह पहली बार मैंने एक कांटा() प्रोग्राम लिखा है ... pls मदद –
अभिभावक कॉल प्रतीक्षापिड (-1, और स्थिति, 0) में; –
बाद में, printf ("स्थिति लौटा:% d", WEXITSTATUS (स्थिति)); ... –