2010-12-07 11 views
6

मैं सीख रहा हूं कि जेपीएस का उपयोग कैसे करें, और मुझे यह पृष्ठ मिल गया है: jps। यह कहता है कि:जावा में lvmid क्या है?

एलवीएमआईडी आमतौर पर, लेकिन जरूरी नहीं है, ऑपरेटिंग सिस्टम की प्रक्रिया पहचानकर्ता जेवीएम प्रक्रिया के लिए है।

तो मैं सोच रहा हूं कि जेपीएस ऑपरेटिंग सिस्टम की प्रक्रिया पहचानकर्ता नहीं है?

कोई भी मदद करेगा?

उत्तर

3

क्या सभी ऑपरेटिंग सिस्टमों में "प्रक्रिया आईडी" की धारणा है? शायद नहीं। उनमें से कुछ प्रक्रिया आईडी का प्रतिनिधित्व भी कर सकते हैं, इंटीग्रर्स के रूप में नहीं, बल्कि एक पूरी तरह से अलग रूप में। प्रक्रिया आईडी एक मंच विशिष्ट अवधारणा है और भविष्य में बदल सकती है। जावा को मंच-स्वतंत्र होने के लिए डिज़ाइन किया गया है। यही कारण है कि यह हमेशा काम नहीं कर सकता है।

हालांकि, वर्तमान में उपयोग में आने वाले सभी प्रमुख ऑपरेटिंग सिस्टम पर, lvmid को हमेशा JVM प्रक्रिया के लिए ऑपरेटिंग सिस्टम की प्रक्रिया आईडी वापस करनी चाहिए।

+0

इस सवाल का जवाब देने के लिए धन्यवाद है। मुझे लगता है कि आपका जवाब समझ में आता है। – khotyn

+0

अधिक जानकारी प्राप्त करना अच्छा लगेगा, और किस ऑपरेटिंग सिस्टम पर, 'lvmid' को' pid' से मिलान करने की गारंटी है। कारण स्क्रिप्ट है जो जावा में चल रही पृष्ठभूमि सेवाओं को शुरू और बंद कर देती है - उन्हें 'पीआईडी' लाने की आवश्यकता होगी, और इसे 'ps' कमांड के साथ देखकर लंबी कक्षा के घोषणाओं के कारण विफल हो सकता है, जबकि 'jps' का उपयोग करके' पिड 'प्राप्त करना काम करने की गारंटी है (सिवाय अगर 'lvmid <> pid' !!!)। – ADTC

1

यह मूल रूप से कह रहा है कि एलवीएमआईडी आम तौर पर ओ/एस पिड (प्रक्रिया आईडी) के समान होती है, लेकिन यह वही नहीं होना चाहिए। कुछ ऑपरेटिंग सिस्टम उनके बीच अंतर कर सकते हैं (मुझे कौन नहीं पता)।

0

मैंने आज पाया कि एक मूल लिनक्स मशीन पर चल रहे सिगविन बनाम एक जावा प्रक्रिया चलने से पिड की तुलना में एक अलग एलवीएमआईडी होगी। इसने मेरी स्क्रिप्ट को जावा प्रक्रिया को बंद करने के लिए lvmid को खोजने में असफल रहा जिससे कि मैं गलत पिड पास कर रहा था।

आप मेरी तस्वीर से देख सकते हैं, lvmid 6704 है, लेकिन पीआईडी ​​19248

enter image description here

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