मैं अमेज़ॅन ec2 पर जावा प्रक्रिया चला रहा हूं। यह 72 मिनट तक चला और फिर अचानक मुझे "जावा परिणाम 137" मिला। यह सब कुछ है, कोई अपवाद या कोई अन्य त्रुटि संदेश नहीं हैं। मैंने इस त्रुटि की खोज की है लेकिन कुछ भी उपयोगी नहीं मिला। इसका कारण क्या हो सकता है और इसे कैसे हल किया जा सकता है? कृपया मुझे बताओ।जावा परिणाम को हल करने 137
उत्तर
127 से ऊपर निकलने वाले कोड का अर्थ आम तौर पर Signal की प्रक्रिया को रोक दिया गया था।
निकास कोड 137 तब 128 + 9 तक हल हो जाता है, जबकि सिग्नल 9 सिगिल है, यानी प्रक्रिया को मजबूती से मार दिया गया था। यह दूसरों के बीच "kill -9" कमांड हो सकता है। हालांकि आपके मामले में यह ऑपरेटिंग सिस्टम पर मेमोरी हालत से बाहर हो सकता है, जो "ओओएम किलर" नामक कार्यक्षमता को उस प्रक्रिया को रोकने के लिए करता है जो ओएस को स्वयं स्थिर रखने के लिए अधिकांश मेमोरी का उपयोग कर रहा है शर्त।
इसी तरह की चर्चा के लिए this question देखें।
बस अगर कोई यह जानने में रुचि रखता है कि यह 128 नंबर कहां से आता है; कारण ओपनजेडीके स्रोत कोड में पाया जा सकता है। देखें: UNIXProcess_md.c
Java_java_lang_UNIXProcess_waitForProcessExit विधि में टिप्पणी से:
सबसे अच्छा मान देने के लिए 0x80 + संकेत संख्या है, क्योंकि क्या सभी यूनिक्स के गोले करना है कि, और क्योंकि यह अनुमति देता है कॉल करने की प्रक्रिया के बीच अंतर करना सिग्नल द्वारा बाहर निकलें और मौत की प्रक्रिया करें।
तो यही कारण है कि जेवीएम डेवलपर्स ने सिग्नल के कारण बाहर निकलने पर बच्चे की वापसी स्थिति में 128 जोड़ने का फैसला किया।
/* Block until a child process exits and return its exit code.
Note, can only be called once for any given pid. */
JNIEXPORT jint JNICALL
Java_java_lang_UNIXProcess_waitForProcessExit(JNIEnv* env,
jobject junk,
jint pid)
{
/* We used to use waitid() on Solaris, waitpid() on Linux, but
* waitpid() is more standard, so use it on all POSIX platforms. */
int status;
/* Wait for the child process to exit. This returns immediately if
the child has already exited. */
while (waitpid(pid, &status, 0) < 0) {
switch (errno) {
case ECHILD: return 0;
case EINTR: break;
default: return -1;
}
}
if (WIFEXITED(status)) {
/*
* The child exited normally; get its exit code.
*/
return WEXITSTATUS(status);
} else if (WIFSIGNALED(status)) {
/* The child exited because of a signal.
* The best value to return is 0x80 + signal number,
* because that is what all Unix shells do, and because
* it allows callers to distinguish between process exit and
* process death by signal.
* Unfortunately, the historical behavior on Solaris is to return
* the signal number, and we preserve this for compatibility. */
#ifdef __solaris__
return WTERMSIG(status);
#else
return 0x80 + WTERMSIG(status);
#endif
} else {
/*
* Unknown exit code; pass it through.
*/
return status;
}
}
- 1. एक भूलभुलैया को हल करने और हल करने के लिए एक ढेर का उपयोग करना - जावा
- 2. जावा मेमोरी रिसाव को हल करने के लिए सामान्य रणनीति?
- 3. XSSFWorkbook को हल करने के मुद्दे - जावा - पीओआई .jar
- 4. जावा: नामस्थान संघर्ष को हल करें
- 5. कैसे त्रुटि को हल करने के?
- 6. जावा एसक्यूएल परिणाम इनपुटस्ट्रीम
- 7. जावा सापेक्ष पथ हल करें
- 8. मेरी माइन्सवीपर को हल करने में एल्गोरिदम
- 9. .NET असेंबली भ्रम को हल करने
- 10. निर्भरता-इंजेक्शन परिपत्र निर्भरता को हल करने
- 11. लक्ष्य 'एंड्रॉयड-8' को हल करने
- 12. ग्रहण परिप्रेक्ष्य त्रुटि को हल करने के लिए कैसे?
- 13. PermGen समस्याओं को हल करने के लिए विभिन्न विकल्प
- 14. सी # डीएल सरल समीकरण को हल करने के लिए
- 15. मेरी पर्ल स्क्रिप्ट 137 के साथ क्यों निकलती है?
- 16. जावा Hashset.contains() जावा में रहस्यमय परिणाम
- 17. java.lang.NullPointerException त्रुटि को हल करने के लिए कैसे करें?
- 18. कैसे स्काला 2.8.0 में java.nio.charset.UnmappableCharacterException हल करने?
- 19. हाइबरनेट में परिणाम पेजिंग को लागू करने
- 20. जावा में एक इंटीग्रल को कैसे हल करें?
- 21. जावा आयात com.google को हल नहीं किया जा सकता
- 22. जावा, एंड्रॉयड, एक यूआरएल को हल, uri रीडायरेक्ट
- 23. जावा रिकर्सन समस्या के साथ एक भूलभुलैया को हल करना
- 24. इस जावा प्रकार की सुरक्षा चेतावनी को कैसे हल करें?
- 25. जावा ईजेबी: आयात javax.ejb को हल नहीं किया जा सकता
- 26. जावा में इस असंगत प्रकार को कैसे हल करें?
- 27. मैं जावा परिणाम परिणाम कैसे देख सकता हूं?
- 28. PowerShell बनाकर एमएस को हल करने में क्या समस्या आई?
- 29. जावा राउंडिंग डबल समस्या को हल करने के लिए कैसे करें
क्या प्रक्रिया आप चल रहे हैं:
मैं यहाँ बच्चे प्रक्रिया से स्थिति लौटने के आरोप में विधि छोड़? शायद यह सिर्फ राज्य है कि प्रसंस्करण समाप्त कर दिया गया था; यह एक त्रुटि नहीं हो सकती है। –
मेरा मानना है कि "जावा परिणाम" के बाद की संख्या System.exit (int) को पास की गई मान है जब कोड निष्पादन को समाप्त करता है। आम तौर पर सम्मेलन यह है कि शून्य के अलावा कोई भी निकास कोड एक त्रुटि इंगित करता है, लेकिन यह खराब रूप है कि स्थिति को डीबग करने में आपकी सहायता के लिए कोई त्रुटि संदेश नहीं है। – Bobulous
@ केविन मैंगोल्ड मैं क्लस्टर पर मोंगोडीबी में रिकॉर्ड डाल रहा हूं। 4 मशीनों पर 4 शर्ड्स हैं और यह जावा प्रक्रिया मोंगोस से जुड़कर दस्तावेज़ों को सम्मिलित करती है (जो दस्तावेजों को शार्ड्स पर घुमाता है)। मेरे कोड में, मैं System.exit() का उपयोग करता हूं लेकिन जब त्रुटि स्थिति पूरी हो जाती है तो यह स्पष्ट रूप से -1 देता है। अमेज़ॅन-ec2 टैगिंग के लिए भी धन्यवाद :), मुझे पोस्ट करते समय इसे करना चाहिए था। – Raghava