2011-11-21 13 views
7

जावा में यूनिक्स अपटाइम प्राप्त करने का सबसे अच्छा तरीका क्या है? क्या कोई मानक जावा लाइब्रेरी/फ़ंक्शन है जिसका उपयोग मैं कर सकता हूं या मुझे 'अपटाइम' निष्पादित करने के लिए रनटाइम के निष्पादन या प्रोसेसबिल्डर का उपयोग करना चाहिए? धन्यवादजावा में यूनिक्स अपटाइम कैसे प्राप्त करें?

+2

जावा में सिस्टम (जेवीएम नहीं) अपटाइम के लिए क्वेरी का संभावित डुप्लिकेट] (http://stackoverflow.com/questions/674106/query-for-system-not-jvm-uptime-in-java) –

+1

@TomaszNurkiewicz मैंने पहले उस सवाल को देखा लेकिन ऐसा लगता है कि एक मंच अज्ञेय समाधान के लिए पूछना है। मैं कुछ ऐसा ढूंढ रहा हूं जो विशेष रूप से निक्स मशीनों – Sam

+0

पर काम कर सकता है क्षमा करें, और मुझे वास्तव में ऐसा * NIX समाधान मिला, मेरा जवाब देखें। –

उत्तर

7

आप /proc/uptime पढ़ सकते हैं:

new Scanner(new FileInputStream("/proc/uptime")).next(); 
//"1128046.07" on my machine and still counting 

Wikipedia से:

शो कब तक प्रणाली के बाद से यह पिछले दोबारा शुरू किए जाने पर कर दिया गया है:

$ cat /proc/uptime 
    350735.47 234388.90 

पहला नंबर सिस्टम से अधिक सेकंड की संख्या है। दूसरा नंबर यह है कि मशीन ने कितनी बार निष्क्रिय किया है, सेकंड में।

+0

सही! धन्यवाद, एक बार टाइमर मुझे स्वीकार करने के बाद मैं स्वीकार करूंगा – Sam

+2

यह लिनक्स के लिए अच्छा है, लेकिन सभी यूनिक्स सिस्टम नहीं। आप अपने विकिपीडिया लिंक से देख सकते हैं कि यह बीएसडी पर काम नहीं करेगा, उदाहरण के लिए। – vipw

+1

आरएचईएल दूसरे नंबर पर मेरे परीक्षण के अनुसार सभी प्रोसेसर का निष्क्रिय समय है, इसलिए यह पहले एक '$ बिल्ली/proc/uptime 2418163.50 4809606.42' से बड़ा हो सकता है। – Betlista

3
Runtime.getRuntime().exec('uptime'); 

क्या आपने इसे आजमाया? जावा में system('uptime'); के बराबर कुछ ऐसा करने वाला एकमात्र आदेश runTime.exec() है। यही सब मैं के बारे में सोच सकता है ..

3

यह पूरी तरह से प्रणाली निर्भर होने की संभावना है, लेकिन आप System.nanotime();

System.out.println("/proc/uptime " + new Scanner(new FileInputStream("/proc/uptime")).next()); 
System.out.println("System.nanoTime " + System.nanoTime()/1e9); 

प्रिंट

/proc/uptime 265671.85 
System.nanoTime 265671.854834206 

चेतावनी उपयोग कर सकते हैं: यह सभी प्लेटफार्मों पर काम करने की संभावना है।

संबंधित मुद्दे