क्या कोई प्रक्रिया (निष्पादन योग्य से चल रही है) को रोकने का कोई तरीका है ताकि यह रोके जाने पर सीपीयू लोड को रोक दे, और इसके काम के साथ आगे बढ़ने तक प्रतीक्षा न हो जाए? शायद पाइथन में, या किसी तरह से अजगर द्वारा सुलभ।एक प्रक्रिया को रोकना?
उत्तर
का उपयोग psutil (https://github.com/giampaolo/psutil) का उपयोग करके:
>>> import psutil
>>> somepid = 1023
>>> p = psutil.Process(somepid)
>>> p.suspend()
>>> p.resume()
आप SIGTSTP के बारे में सोच रहे हैं - एक ही सिग्नल होता है जब आप CTRL-Z
दबाते हैं। यह तब तक प्रक्रिया को निलंबित करता है जब तक यह SIGCONT प्राप्त नहीं हो जाता है।
बेशक, कुछ प्रोग्राम सिर्फ इस सिग्नल को पकड़ और अनदेखा कर सकते हैं, इसलिए यह निष्पादन योग्य पर निर्भर करता है। हालांकि, अगर आप इसे मैन्युअल रूप से निलंबित और फिर से शुरू कर सकते हैं, तो आप इसे एक अजगर कार्यक्रम से भी कर सकते हैं। os.kill()
पर जाएंगी और मैं इसे कैसे रद्द कर दूं ताकि यह पहले से कहां से काम जारी रखे? –
इसे एक सिगकंट –
भेजें सिगस्टॉप को अवरुद्ध नहीं किया जा सकता है और इस संदर्भ में थोड़ा अधिक सटीक होगा, एक tty से नहीं आ रहा है। http://en.wikipedia.org/wiki/SIGSTOP – msw
एक (लगभग) देशी अजगर में ऐसा करने का तरीका नहीं है, और यह काफी सरल है: इस में
import time
time.sleep(5)
स्निपेट, 5
सेकंड की संख्या है जो आप अपने प्रोग्राम को रोकना चाहते हैं।
यह प्रश्न का उत्तर नहीं देता है; जो * एक और * प्रक्रिया को रोकने के बारे में है। – bfontaine
मैं सिर्फ इस संकेतों के साथ अजगर कुछ में इस तरह लागू किया:
def mysignalhandler(sig, frame):
print "Got " + str(sig)
if sig == signal.SIGUSR1:
do_something()
signal.signal(signal.SIGUSR1, mysignalhandler)
signal.pause()
यह अंतिम पंक्ति पर रोक सकते हैं और फोन do_something()
जब यह एक
kill -USR1 <pid>
के माध्यम से, संकेत USR1 प्राप्त करता है, उदाहरण के लिए होगा
कमांड।
यह केवल यूनिक्स में ही काम करेगा।
- 1. Magento अनुक्रमण प्रक्रिया को रोकना
- 2. स्वैप फ़ाइल में डुबकी से भारी प्रक्रिया को रोकना
- 3. विंडोज़ को रोकना
- 4. एक वितरित रूबी सेवा को रोकना
- 5. थ्रेड को रोकना/रोकना क्यों बुरा है?
- 6. एक बहु थ्रेडेड विंडोज सेवा को रोकना
- 7. एक हस्ताक्षर में कन्स्ट्रक्टरों को रोकना
- 8. एक उदाहरण पर ActiveRecord save() को रोकना
- 9. स्थानीय पॉइंटर्स को रोकना
- 10. एक्सएसएस हमलों को रोकना
- 11. एलडीएपी इंजेक्शन को रोकना
- 12. कंसोल से एक एंड्रॉइड ऐप रोकना
- 13. एक घटक छुपाए जाने पर एक स्विंग टाइमर को रोकना
- 14. एक थ्रेड के भीतर से एक एंड्रॉइड सेवा को रोकना
- 15. किसी गतिविधि से एक इरादा सेवा को रोकना
- 16. स्क्रॉलिंग से UITableView को रोकना?
- 17. डुप्लिकेट फॉर्म सबमिशन को रोकना
- 18. अमेज़ॅन क्लाउडफ़्रंट हॉटलिंकिंग को रोकना
- 19. मल्टीप्रोसेसिंग "रनवे बग" को रोकना
- 20. सभी जावास्क्रिप्ट निष्पादन को रोकना
- 21. AsyncCallback फ़ंक्शन के बाहर एक एसिंक्रोनस स्ट्रीम को रोकना
- 22. एक अजगर प्रक्रिया को मारें
- 23. एक तालिका में पेज ब्रेक को रोकना जब
- 24. किसी सेवा के अंदर एक थ्रेड को रोकना
- 25. एक PHP वेब अनुप्रयोग में जावास्क्रिप्ट इंजेक्शन को रोकना
- 26. केवल कुछ वर्ग या एक पैकेज को कैसे रोकना है?
- 27. एक div और इसकी सामग्री को मुद्रित होने से रोकना
- 28. मिलीसेकंड के सेट # के लिए एक विधि को रोकना
- 29. sqlalchemy: एक लंबे समय से चलने वाली क्वेरी को रोकना
- 30. एक प्रक्रिया
क्या आपका मतलब थ्रेड या चलने वाली सिस्टम प्रक्रिया है? – ukanth
एक चल रही सिस्टम प्रक्रिया। –
मैं इसे "रोकना" की बजाय कम प्रक्रिया प्राथमिकता के इच्छुक हूं। इस तरह अन्य प्रक्रियाएं पहले –