मैं वर्तमान में सी में कांटा() फ़ंक्शन का अध्ययन कर रहा हूं। मैं समझता हूं कि यह क्या करता है (मुझे लगता है)। मेरा सवाल यह है कि हम इसे निम्नलिखित कार्यक्रम में क्यों देखते हैं?कैसे/क्यों विफल हो सकता है
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
int pid;
pid=fork();
if(pid<0)/* why is this here? */
{
fprintf(stderr, "Fork failed");
exit(-1);
}
else if (pid == 0)
{
printf("Printed from the child process\n");
}
else
{
printf("Printed from the parent process\n");
wait(pid);
}
}
इस कार्यक्रम हम जाँच लें कि पीआईडी लौटे में < 0 है, जो एक विफलता का संकेत होता है। कांटा() असफल क्यों हो सकता है?
यदि किसी कारण से आप अपने ओएस पर और अधिक प्रक्रिया नहीं कर सकते हैं, तो यह असफल हो जाएगा। हालांकि यह सिर्फ एक ही रास्ता है। – squiguy