2013-08-25 4 views
31

मैं पाइथन इंटरपेटर को मारना चाहता हूं - इरादा यह है कि इस पल में चल रहे सभी पायथन फाइलें बंद हो जाएंगी (इस फाइल के बारे में किसी भी जानकारी के बिना)। स्पष्ट रूप से प्रक्रियाओं को बंद किया जाना चाहिए।टर्मिनल से लिनक्स में पाइथन इंटरपेटर को मारें

पाइथन में फ़ाइलों को हटाने या इंटरपेटर को नष्ट करने के बारे में कोई भी विचार ठीक है: डी (मैं आभासी मशीन के साथ काम कर रहा हूं)। मैं टर्मिनल से इसकी आवश्यकता है क्योंकि मैं सी कोड लिख सकते हैं और मैं Linux कमांड का उपयोग ... मदद

उत्तर

45
pkill -9 python 

के लिए आशा किसी भी चल रहा है अजगर प्रक्रिया मार देना चाहिए।

+1

यदि प्रक्रिया नाम बदल दिया है (अन्य नाम से अजगर से) –

+7

अन्य नाम –

+0

तुम भी साथ Python स्क्रिप्ट प्रति अधिक चयनात्मक हो सकता है का उपयोग करें:? Https://stackoverflow.com/a/34239260/895245 –

26

ऐसा करने के एक नहीं बल्कि कच्चे तेल की तरह, है, लेकिन क्योंकि पहले, इस अजगर के रूप में खुद की पहचान अजगर दुभाषिया प्रक्रिया पर निर्भर करता है सावधान रहना होगा और दूसरा , इसका नाम उस नाम से पहचाने गए किसी भी अन्य प्रक्रिया को भी मारने का संगत प्रभाव है।

संक्षेप में, आप अपने खोल में इस टाइप करके सभी अजगर दुभाषियों को मार सकते हैं (आप ऊपर चेतावनियां पढ़ें!):

ps aux | grep python | grep -v "grep python" | awk '{print $2}' | xargs kill -9 

इस नीचे तोड़ने के लिए, यह है कि यह कैसे काम करता है। पहली बिट, ps aux | grep python | grep -v "grep python", grep -v के साथ खुद को पाइथन कहने वाली सभी प्रक्रियाओं की सूची प्राप्त करती है, यह सुनिश्चित कर लें कि आपके द्वारा अभी चलाए गए grep कमांड को आउटपुट में भी शामिल नहीं किया गया है। इसके बाद, हम आउटपुट के दूसरे कॉलम को पाने के लिए अजीब का उपयोग करते हैं, जिसमें प्रक्रिया आईडी है। अंत में, इन प्रक्रियाओं में से प्रत्येक को kill -9 के साथ आपूर्ति करके सभी (बल्कि अनजाने में) मारे गए हैं।

+2

आप ps aux output में किसी भी greps को अनदेखा करने के लिए grep -v "grep" में तीसरा पाइप अनुभाग बदल सकते हैं। यह कमांड को अधिक सामान्य बनाता है ताकि कोई दूसरा पाइप अनुभाग बदल सके, तीसरे स्थान को बदलने के बारे में चिंता किए बिना। पीएस ऑक्स | grep "पायथन-यू" | grep -v "grep" | अजीब '{प्रिंट $ 2}' | xargs kill -9 – TechplexEngineer

3

pgrep -f youAppFile.py | xargs kill -9

pgrep विशिष्ट फ़ाइल के पीआईडी ​​को वापस कर देता है और आप केवल विशिष्ट एप्लिकेशन को मार देते हैं।

2

pgrep -f | xargs kill -9 यह आपकी प्रक्रिया सेवा को मार देगा। मेरे मामले में यह 'pgrep -f पायथन है | xargs मारने -9 '

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