मेरे पास एक छोटा जावा प्रोग्राम है जो हर सेकंड InetAddress.getByName ("example.com") को कॉल करता है। जब मैं इसे f स्ट्रेस-एफ ’का उपयोग करते हुए एक CentOS 6.4 बॉक्स पर चलाता हूं, तो मैं देखता हूं कि /etc/resolv.conf एक बार खोला और पढ़ा जाता है:
$ grep /etc/resolv.conf strace.out
[pid 24810] open("/etc/resolv.conf", O_RDONLY) = 6
जब मैं इसे डेबियन 7 पर चलाता हूं तो मैं देखता हूं कि /etc/resolv.conf को बार-बार खोला जाता है या स्टेट (): d
$ grep /etc/resolv.conf strace.out
[pid 41821] open("/etc/resolv.conf", O_RDONLY) = 10
[pid 41821] stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=92, ...}) = 0
[pid 41821] open("/etc/resolv.conf", O_RDONLY) = 10
[pid 41821] stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=92, ...}) = 0
[pid 41821] stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=92, ...}) = 0
दोनों सिस्टम में /etc/nsswitch.conf के साथ कॉन्फ़िगर किया गया है
होस्ट: फाइलें डीएनएस
न तो सिस्टम में नाम है, कैशिंग डेमॉन चल रहा है।
मैंने किसी भी जावा मतभेदों का पता लगाने के लिए दोनों मशीनों पर ओरेकल हॉटशॉट जावा जेवीएम के एक ही संस्करण का उपयोग किया।
CentOS 6.4 बॉक्स में 2.12 स्थापित किया गया है। डेबियन 7 बॉक्स में 2.13 स्थापित किया गया है।
खोलने और पठन /etc/resolv.conf के संबंध में दो ऑपरेटिंग सिस्टम के बीच विभिन्न व्यवहार के लिए क्या खाते हैं?