में भौतिक मशीन का नाम ढूंढें मैं भौतिक मशीन नाम कैसे प्राप्त कर सकता हूं जिसमें मेरा जेवीएम चल रहा है?जावा
(भौतिक = ओएस, VMware अप करने के लिए ...)
में भौतिक मशीन का नाम ढूंढें मैं भौतिक मशीन नाम कैसे प्राप्त कर सकता हूं जिसमें मेरा जेवीएम चल रहा है?जावा
(भौतिक = ओएस, VMware अप करने के लिए ...)
String computername=InetAddress.getLocalHost().getHostName();
System.out.println(computername);
ध्यान दें कि यह DNS पर निर्भर करता है और विफल हो सकता है: http://stackoverflow.com/questions/7883542/getting-the-computer-name-in-java – Vadzim
जिस तरह से सवाल phrased है: "भौतिक मशीन नाम प्राप्त करें", यह * सही * नहीं है। कड़ाई से बोलते हुए उपर्युक्त आपको मेजबान का ** नेटवर्क नाम **, आमतौर पर लोकहोस्ट इंटरफेस का नाम बताएगा। Http://stackoverflow.com/a/40702767/1504556 देखें। जावा में स्थानीय मशीन के "मशीन नाम" या "कंप्यूटर नाम" पाने के लिए कोई (मानकीकृत) तरीका नहीं है। – peterh
पूरी तरह से @Vadzim के साथ सहमत हुए। डीएनसीपी द्वारा असाइन किए गए आईपी पते को डीएनएस या डायनेमिक DNS मैपिंग के बिना, कंप्यूटर का नाम वास्तविक कंप्यूटर नाम से बहुत अलग हो सकता है। – someone
मैं बिल्कुल यकीन है कि आप शारीरिक मशीन नाम से क्या मतलब है नहीं कर रहा हूँ। आपकी टिप्पणी "(भौतिक = ओएस, vmware तक ...)" मुझे समझाने की जरूरत है।
लेकिन आप System.getProperty (स्ट्रिंग कुंजी) जहां कुंजी कुंजी यहां पाया में से एक है का उपयोग कर सकते हैं: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getProperties()
है कि आप ओएस नाम बताना चाहिए। यदि आपको मेजबाननाम jsight की सलाह का उपयोग करने की आवश्यकता है।
मेरा मतलब है कि कंप्यूटर का नाम JVM चल रहा है। अधिकतर एक भौतिक कंप्यूटर, लेकिन यदि JVM किसी अन्य आभासी मशीन के अंदर चल रहा है तो वह नाम अच्छा है। – ripper234
युगल विकल्प, के बाद से मुझे यकीन है कि आप क्या चाहते हैं नहीं कर रहा हूँ:
RuntimeMXBean rmx = ManagementFactory.getRunTimeMXBean();
System.out.println(rmx.getName());
या ...
System.out.println(InetAddress.getLocalHost().getHostName());
या लिनक्स
Runtime r = Runtime.getRuntime();
Process p = r.exec("uname -a");
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream());
System.out.println(r.readLine());
मैं इंप्रेशन getRunTimeMXBean() 100% विश्वसनीय – Hector
"uname -n" सटीक काम नहीं करता है। –
पर Windows, यदि आप वर्कस्टेशन नाम चाहते हैं, आप इसका उपयोग कर सकते हैं:
System.getenv("COMPUTERNAME")
क्या मंच? क्या इससे कोई फर्क पड़ता है कि यह ओएस विशिष्ट है? – Gandalf
क्या आपका मतलब एफक्यूडीएन है? – kmarsh
सर्वश्रेष्ठ मंच-स्वतंत्र है। – ripper234