fork() क्या है?
इस सेक्शन में हम देखेंगे कि C में fork सिस्टम कॉल क्या है। यह fork सिस्टम कॉल एक नई प्रोसेस बनाने के लिए उपयोग किया जाता है। इस नई बनी प्रोसेस को चाइल्ड प्रोसेस कहा जाता है। वह करंट प्रोसेस जो दूसरी चाइल्ड प्रोसेस बना रही है, उसे पेरेंट प्रोसेस कहा जाता है।
चाइल्ड प्रोसेस की विशेषताएं
एक चाइल्ड प्रोसेस उसी प्रोग्राम काउंटर, CPU रजिस्टर, और उन्हीं फाइलों का उपयोग करती है जो पेरेंट प्रोसेस द्वारा उपयोग की जाती हैं।
fork() का रिटर्न मान
fork() कोई पैरामीटर नहीं लेता, यह पूर्णांक मान लौटाता है। यह तीन प्रकार के पूर्णांक मान लौटा सकता है:
- नकारात्मक संख्या: जब चाइल्ड प्रोसेस बनाने में विफलता होती है तो यह नकारात्मक संख्या लौटाता है
- शून्य मान: नई बनी चाइल्ड प्रोसेस के लिए यह शून्य लौटाता है
- सकारात्मक मान: पॉजिटिव मान पेरेंट प्रोसेस को लौटाया जाता है
उदाहरण कोड
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main() {
fork(); // समान प्रकार की चाइल्ड प्रोसेस बनाएं
printf("Fork testing code\n");
return 0;
}
आउटपुट
soumyadeep@soumyadeep-VirtualBox:~$ ./a.out Fork testing code soumyadeep@soumyadeep-VirtualBox:~$ Fork testing code soumyadeep@soumyadeep-VirtualBox:~$