परिचय
इस खंड में हम देखेंगे कि C++ में चाइल्ड प्रोसेस बनाने के लिए fork() का उपयोग कैसे करें। हम प्रत्येक प्रोसेस में कुछ गणना भी करेंगे। इसलिए हमारे पैरेंट प्रोसेस में हम एक सरणी के सभी सम संख्याओं का योग ढूंढेंगे, और चाइल्ड प्रोसेस में हम सरणी तत्वों से विषम योग की गणना करेंगे।
जब fork() कॉल किया जाता है, तो यह एक मान लौटाता है। यदि मान 0 से अधिक है, तो वर्तमान में यह पैरेंट प्रोसेस में है, अन्यथा यह चाइल्ड प्रोसेस में है। इस का उपयोग करके हम प्रोसेस के बीच अंतर कर सकते हैं।
उदाहरण कोड
#include <iostream>
#include <unistd.h>
using namespace std;
int main() {
int a[15] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
int odd_sum = 0, even_sum = 0, n, i;
n = fork(); // प्रोसेस विभाजित करें
if (n > 0) { // जब n 0 नहीं है, तो यह पैरेंट प्रोसेस है
for (int i : a) {
if (i % 2 == 0)
even_sum = even_sum + i;
}
cout << "पैरेंट प्रोसेस " << endl;
cout << "सम संख्याओं का योग: " << even_sum << endl;
} else { // जब n 0 है, तो यह चाइल्ड प्रोसेस है
for (int i : a) {
if (i % 2 != 0)
odd_sum = odd_sum + i;
}
cout << "चाइल्ड प्रोसेस " << endl;
cout << "विषम संख्याओं का योग: " << odd_sum << endl;
}
return 0;
}
आउटपुट
पैरेंट प्रोसेस सम संख्याओं का योग: 56 चाइल्ड प्रोसेस विषम संख्याओं का योग: 64