में लंबे समय से चलने वाली बैच प्रक्रिया को प्रोग्रामेटिक रूप से निष्पादित और समाप्त करना मैं पाइथन में एक लंबी दौड़ वाली "बैच नौकरियां" शुरू करने और समाप्त करने का एक तरीका खोज रहा हूं। अभी मैं प्रत्येक बच्चे की प्रक्रिया के अंदर एक लंबी दौड़ वाली बैच नौकरी लॉन्च करने के लिए "ओएससिस्टम()" का उपयोग कर रहा हूं। जैसा कि आपने अनुमान लगाया होगा, "ओएससिस्टम()" उस बच्चे की प्रक्रिया (दादा प्रक्रिया?) के अंदर एक नई प्रक्रिया पैदा करता है, इसलिए मैं ग्रैंड-पैरेंट प्रक्रिया से बैच नौकरी को मार नहीं सकता। मैं सिर्फ क्या वर्णन किया है के कुछ दृश्य प्रदान करने के लिए:पायथन
Main (grandparent) process, with PID = AAAA
|
|------> child process with PID = BBBB
|
|------> os.system("some long-running batch file)
[grandchild process, with PID = CCCC]
तो, मेरी समस्या मैं दादा-दादी से पोता प्रक्रिया को नहीं मार सकता है ...
मेरा प्रश्न है, वहाँ एक रास्ता एक शुरू करने के लिए है बाल प्रक्रिया के अंदर लंबी दौड़ वाली बैच नौकरी, और केवल बच्चे की प्रक्रिया को समाप्त करके उस बैच नौकरी को मारने में सक्षम होना? os.system() के विकल्प क्या हैं जिनका उपयोग मैं कर सकता हूं ताकि मैं मुख्य प्रक्रिया से बैच-नौकरी को मार सकूं?
धन्यवाद !!