क्या मैं फोर्क का उपयोग किए बिना दो प्रक्रियाओं के बीच पाइप का उपयोग कर सकता हूं और उदाहरण के लिए सॉकेट के साथ फाइल डिस्क्रिप्टर साझा कर सकता हूं? मुझे किसी अन्य समाधान की आवश्यकता नहीं है, मुझे दो प्रक्रियाओं के बीच पाइप चाहिए जो फोर्क नहीं है।बिना फोर्क के पाइप का उपयोग कर सकते हैं?
उत्तर
आप एक नामित पाइप (फीफो) इस्तेमाल कर सकते हैं:
आप mkfifo <common path>
करते हैं, आप एक प्रयोग दोनों प्रक्रियाओं, पढ़ने के लिए एक और लिखने के लिए एक में इस पथ। फिर आपके पास एक सामान्य पाइप के समान व्यवहार होता है।
सबसे आसान समाधान एक नामित पाइप का उपयोग करना है, जो एक पाइप है जिसका फाइल सिस्टम में नाम है ताकि दोनों प्रक्रियाएं इसका संदर्भ दे सकें। एक नामित पाइप mkfifo()
कॉल के साथ बनाया गया है, और open()
के साथ खोला गया है (एक प्रक्रिया इसे पढ़ने के लिए खोलनी चाहिए, और दूसरा लेखन के लिए)।
आप दो असंबंधित प्रक्रियाओं भी साथ एक अनाम पाइप का उपयोग कर सकते हैं, लेकिन ऐसा करने के लिए, ताकि आप किसी भी तरह की प्रक्रिया है कि अन्य प्रक्रिया के लिए पाइप बनाया से एक खुली फ़ाइल विवरण पारित करने के लिए की जरूरत है। आप यूनिक्स डोमेन सॉकेट पर SCM_RIGHTS
संदेश का उपयोग करके ऐसा कर सकते हैं, लेकिन यदि आपके पास यूनिक्स डोमेन सॉकेट है तो आप बस पाइप के बजाय संवाद करने के लिए इसका उपयोग कर सकते हैं। पहली प्रक्रिया में पाइप के अंत का प्रतिनिधित्व करने वाले /proc/<pid>/fd/<fd>
सिम्लिंक पर open()
का उपयोग करने के लिए दूसरी प्रक्रिया के लिए एक लिनक्स-विशिष्ट विधि है, लेकिन यह काफी बारोक है।
- 1. नामित पाइप और क्या वे डेटा स्ट्रीम कर सकते हैं?
- 2. आप स्ट्रीमिंगडेटा हैंडलर को आउटपुटस्ट्रीम कैसे पाइप कर सकते हैं?
- 3. क्या आप फोर्किंग का उपयोग कर ऐप्स के बीच उसकेोकू डेटाबेस माइग्रेट कर सकते हैं?
- 4. क्या मैं आसानी से Emacs के बिना Lisp का उपयोग कर सकते हैं?
- 5. स्कैला: क्या आप ब्रांड्स के बिना अभिव्यक्ति में "foo match {bar}" का उपयोग कर सकते हैं?
- 6. क्या सी # में मजबूत नामित असेंबली के बिना आंतरिक VisibleTo का उपयोग कर सकते हैं?
- 7. सबक्वायरी का उपयोग किए बिना जॉइन टेबल से गणना के हिस्टोग्राम कैसे प्राप्त कर सकते हैं?
- 8. क्या हम #ifdef __cplusplus के बिना सी फ़ाइल में बाहरी "सी" का उपयोग कर सकते हैं?
- 9. आप आईएमएपी का उपयोग कर मेल कैसे भेज सकते हैं?
- 10. क्या आप विशेषताओं का उपयोग किये बिना पोस्टशर्प में पहलुओं को लागू कर सकते हैं?
- 11. क्या कर सकते हैं कि sed क्या कर सकते हैं?
- 12. पायथन मल्टीप्रोसेसिंग पाइप का उपयोग
- 13. एक अलग डेटाबेस का उपयोग कर सकते हैं?
- 14. कैसे एक निजी क्षेत्र का उपयोग हाइबरनेट कर सकते हैं?
- 15. आप विम में पायथन का उपयोग कैसे कर सकते हैं?
- 16. जब हम ClearAllPools विधि का उपयोग कर सकते हैं?
- 17. क्रोम एक्सटेंशन सामग्री स्क्रिप्ट्स window.opener का उपयोग कर सकते हैं?
- 18. क्या JRuby मूल रूबी रत्न का उपयोग कर सकते हैं?
- 19. मैं psycopg2 साथ md5 प्रमाणीकरण का उपयोग कर सकते हैं?
- 20. क्या कर्नेल में ओपनजीएल का उपयोग कर सकते हैं?
- 21. क्या हम हाइबरनेट में संघ का उपयोग कर सकते हैं?
- 22. प्रमाणीकरण - क्या आप कुकीज़/सत्र का उपयोग कर सकते हैं?
- 23. memcached बहु-कोर का पूरा उपयोग कर सकते हैं?
- 24. आपके समय की पुरानी हानि का उपयोग कर सकते हैं?
- 25. पर्ल में फोर्क() का उपयोग कैसे करें?
- 26. जावास्क्रिप्ट एक फाइल सिस्टम का उपयोग कर सकते हैं?
- 27. क्या हम संघ में सूचक का उपयोग कर सकते हैं?
- 28. गैर-वेब अनुप्रयोग OpenID का उपयोग कर सकते हैं?
- 29. क्या आप रूबी में अर्धविराम का उपयोग कर सकते हैं?
- 30. जावा - सी-फोर्क फोर्क?
@pst एक यूनिक्स सॉकेट पूरी तरह से अलग है: 'कनेक्ट()', 'स्वीकार करें()' आदि। – glglgl