2011-04-18 15 views
13

मैं जानना चाहता हूं: क्या कोई सिस्टम कॉल, लाइब्रेरी, कर्नेल मॉड्यूल या कमांड लाइन उपकरण है जिसका उपयोग मैं डिस्क 0 पर चल रहे प्रोग्राम की स्थिति स्टोर करने के लिए कर सकता हूं?डिस्क पर पूरी प्रक्रिया स्थिति संग्रहीत करना और बाद में इसे बहाल करना? (लिनक्स/यूनिक्स पर)

यह है: मैं पूरी तरह से मेमोरी, पेज लेआउट, स्टैक, रजिस्टर्स, थ्रेड्स और फ़ाइल डिस्क्रिप्टर को डंप करना चाहता हूं, एक प्रक्रिया वर्तमान में हार्ड ड्राइव पर एक फ़ाइल में उपयोग कर रही है और बाद में इसे बिना किसी तरह से बहाल करने में सक्षम है एक एमुलेटर "savestate" या एक वर्चुअल मशीन "स्नैपशॉट"।

यदि संभव हो तो प्रोग्राम प्रोग्राम की कई "बैकअप प्रतियां" रखने के लिए, यदि मैं किसी कारण से मर जाता हूं तो मैं पिछले निष्पादन बिंदु पर वापस आ सकता हूं।

क्या यह संभव है?

+1

[ 'हाइबरनेट' लिनक्स में एक प्रक्रिया] (http://stackoverflow.com/questions/2134771/hibernate-a-process-in-linux) – ergosys

+0

के संभावित डुप्लिकेट नहीं है एक ऐसी ही पूछताछ की [unix.exchange पर पूछा ] (http://unix.stackexchange.com/questions/23078/suspend-resume-single-process-to-from-disk) –

उत्तर

3

कुछ this जैसे कुछ? आप checkpointing page on wikipedia भी देख सकते हैं।

+1

धन्यवाद! :-) यह वास्तव में प्रभावशाली दिखता है। लेकिन क्या यह अभी भी मंथन किया जा रहा है? CryoPID2 पर आखिरी प्रतिबद्धता 200 9 से प्रतीत होती है। :-( –

+1

दुर्भाग्य से, ऐसा लगता है कि परियोजना कम से कम एक ज़ोंबी है। यह उत्तर देखें (प्रश्न शायद इस का एक डुप्लिकेट भी है): http://stackoverflow.com/प्रश्न/2134771/हाइबरनेट-ए-प्रोसेस-इन-लिनक्स/2137808 # 2137808 – ergosys

+2

आपका लिंक ("यह") अब मर चुका है। आप [code.google] (https: // code जैसे कुछ से लिंक करना चाहेंगे। google.com/p/cryopid/), या कुछ और। या [Sourceforge] (http://sourceforge.net/projects/cryopid2/) का लिंक। – Guildenstern

1

core dump मूल रूप से यह है, इसलिए हाँ, यह प्राप्त करना संभव होना चाहिए।

जो आप वास्तव में चाहते हैं वह re स्टोर है जो एक चल रहे प्रोग्राम के रूप में डंप करता है। यह और अधिक कठिन हो सकता है।

2

आपको बर्कले लैब से BLCR project पर एक नज़र डालना चाहिए। समानांतर अनुप्रयोगों के लिए चेकपॉइंट/पुनरारंभ क्षमताओं को प्रदान करने के लिए कई एमपीआई कार्यान्वयनों द्वारा इसका व्यापक रूप से उपयोग किया जाता है।

+0

"अभी तक 3.x कर्नेल के लिए कोई समर्थन नहीं है। जब तक समर्थक नहीं है टी इसके लिए 3.x कर्नेल सही ढंग से पता लगाने के लिए सक्षम करने के लिए कॉन्फ़िगर स्क्रिप्ट को पैच करने के लिए थोड़ा बिंदु है, जहां यह त्रुटि आती है। "--https: //hpcrdm.lbl.gov/pipermail/checkpoint/2012- जून/000427.html कोई सुझाव? मैं वास्तव में इसे काम पर लेना चाहता हूं। –

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

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