क्या emacs में एक प्रक्रिया दर्शक (संसाधन प्रबंधक) या समकक्ष है?


14

कभी-कभी emacs 100% cpu के उपयोग से टकराएंगे। जाहिर है जब ऐसा होता है तो एक भगोड़ा प्रक्रिया के साथ एक मुद्दा होता है।

बस सोच रहा था कि क्या emacs में सभी चल रही प्रक्रियाओं को देखने का एक तरीका है?

यूनिक्स htop की तरह, इंटरैक्टिव सिस्टम प्रक्रिया की निगरानी और दर्शक ... htop


3
list-processes?
npostavs 1

@npostavs धन्यवाद सूची-प्रक्रिया अच्छी है। लेकिन मैं सोच रहा हूं कि क्या ऐसा कुछ है जो स्मृति और सीपीयू उपयोग सहित संसाधनों पर अधिक जानकारी प्रदान करता है
ओरियन

2
केवल एक चीज जिसके बारे में मैं सोच सकता हूं वह रूपरेखा है: gnu.org/software/emacs/manual/html_node/elisp/Profiling.html
कानूनसूची

3
कानूनन सही है। मैं नहीं मानता कि आप एक प्रक्रिया दर्शक की तलाश कर रहे हैं (बनाने list-processesया procedअप्रासंगिक)। केवल एक ही प्रक्रिया जिसकी आपको परवाह है, वह है (सिंगल) ईमैक्स प्रक्रिया। उसके लिए आपको emacs profiler का उपयोग करना होगा।
फिल्स

जवाबों:


11

2016 में सवाल पूछा गया था। अब 2019 में, मौजूद है M-x proced:

सिस्टम प्रक्रियाओं को प्रदर्शित करने और उन्हें संकेत भेजने के लिए मोड।

वर्तमान सिस्टम प्रक्रियाओं की सूची युक्त एक Emacs बफर प्रक्रिया करता है। आप इस बफर में घूमने के लिए सामान्य Emacs कमांड का उपयोग कर सकते हैं, और सूचीबद्ध प्रक्रियाओं पर काम करने के लिए विशेष प्रोसेस्ड कमांड। proced-modeआरंभ करने के लिए देखें ।


ध्यान दें कि आप स्वचालित बफर अपडेट (डिफ़ॉल्ट रूप से प्रत्येक 5 सेकंड) के साथ एक समान व्यवहार के लिए M-x proced-toggle-auto-updateअपने procedबफर पर सक्षम करना चाहते हैं top
पियरे थालमी

10

अन्य उत्तरों के अलावा, मूल पोस्टर अंतर्निहित प्रोफाइलिंग सुविधा का उपयोग करने पर विचार कर सकता है : https://www.gnu.org/software/emacs/manual/html_node/elisp/Profiling.html

प्रोफाइलिंग शुरू करने के लिए, टाइप करें M-x profiler-start। आप प्रोसेसर उपयोग, मेमोरी उपयोग, या दोनों के द्वारा प्रोफाइल को चुन सकते हैं। कुछ काम करने के बाद, M-x profiler-reportप्रत्येक संसाधन के लिए एक सारांश बफर प्रदर्शित करने के लिए टाइप करें जिसे आपने प्रोफ़ाइल के लिए चुना था। रिपोर्ट बफ़र्स के नामों में वे समय शामिल हैं, जिन पर रिपोर्ट तैयार की गई थी, इसलिए आप पिछले परिणामों को मिटाए बिना बाद में एक और रिपोर्ट तैयार कर सकते हैं। जब आपने प्रोफाइलिंग समाप्त कर ली है, तो टाइप करें M-x profiler-stop(प्रोफाइलिंग से जुड़ा एक छोटा ओवरहेड है)।

इस सुविधा के बारे में अतिरिक्त विवरण के लिए मैनुअल से ऊपर लिंक देखें।


7

आप जाँच करना चाहते हैं list-processes:

list-processes' simple.el' में एक इंटरैक्टिव संकलित लिस्प फ़ंक्शन है ।

(list-processes &optional QUERY-ONLY BUFFER)

उन सभी प्रक्रियाओं की सूची प्रदर्शित करें जो Emacs उप-प्रक्रियाएँ हैं। यदि वैकल्पिक तर्क QUERY-ONLYगैर-शून्य है, तो केवल query-on-exitध्वज सेट वाली प्रक्रियाएँ सूचीबद्ध हैं।
सूचीबद्ध होने के बाद बाहर निकलने या संकेत के रूप में सूचीबद्ध कोई भी प्रक्रिया वास्तव में समाप्त हो जाती है।
वैकल्पिक तर्क BUFFER" *Process List*" के बजाय एक बफर का उपयोग करने के लिए निर्दिष्ट करता है । वापसी मूल्य हमेशा होता है nil

यह फ़ंक्शन केवल उन प्रक्रियाओं को सूचीबद्ध करता है जो Emacs द्वारा लॉन्च किए गए थे। सिस्टम पर चल रही अन्य प्रक्रियाओं को देखने के लिए, ' list-system-processes' का उपयोग करें ।

ऐसा लगता है कि आपको बहुत सारी सुविधाओं की आवश्यकता है, लेकिन एक बिट कोडिंग के साथ आप वांछित परिणाम प्राप्त कर सकते हैं (यदि आप ऐसा करते हैं, तो कृपया अपने पैच अपस्ट्रीम भेजें, मैं कभी-कभार Emacs में इस सुविधा को देखना चाहूंगा।) मुझे आपकी समस्या के लिए कोई भी बेहतर तैयार उम्मीदवार नहीं मिला।


6

हेल्म-टॉप देखें। यह उन सभी चीजों को सूचीबद्ध करता है जो आप चाहते हैं, और प्रक्रियाओं को संकेत भेजने के लिए क्रियाएं हैं।


5

मुझे htop पसंद है और इसलिए मैं इसे emacs में भी इस्तेमाल करता हूं। हालांकि इंटरेक्टिव हिस्सा इस तरह से काम नहीं करता है।

(defun htop ()
  (interactive)
  (if (get-buffer "*htop*")
      (switch-to-buffer "*htop*")
    (ansi-term "/bin/bash" "htop")   
    (comint-send-string "*htop*" "htop\n")))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.