मैं कीबोर्ड कमांड के साथ R में एक रनिंग कोड को कैसे बाधित कर सकता हूं?


82

क्या कोई बता सकता है कि मैं R में एक रनिंग स्क्रिप्ट को कैसे बाधित कर सकता हूं?

मान लीजिए कि मेरे पास एक अनंत लूप या कुछ अन्य समस्या है, और मैं स्क्रिप्ट को चलने से रोकना चाहता हूं। क्या कोई कीबोर्ड कमांड है जो ऐसा करता है?

यदि यह किसी भी तरह की मदद करता है, तो पायथन में यह Ctrl + c है। मैंने आर में कोशिश की, और यह काम नहीं किया :)।

मैंने इस सरल प्रश्न के लिए कुछ खोज की, लेकिन उत्तर नहीं मिला।

अग्रिम में धन्यवाद।


4
Rgui में, यदि R कंसोल में फ़ोकस है, तो ESC या Alt-M [एंटर] या रेड स्टॉप ऑक्टागन पर क्लिक करने से क्यूरेंट कैलकुलेशन रुक जाएगा
हेनरी

1
मुझे लगता है कि यह इस बात पर भी निर्भर करता है कि आप किस ओएस का उपयोग कर रहे हैं (वंडो, मैक ओएस, लिनक्स) और आप अपनी आर स्क्रिप्ट (आर गुई, एमएसीएस, ...) से कैसे चला रहे हैं।
मैनुअल रमोन

6
ईएससी आर स्टूडियो में भी काम करता है (विंडोज चलाते समय, कम से कम)।
कप्तान मर्फी

2
आपको उल्लेख करना चाहिए कि आपके मूल पोस्ट में विंडोज पर थे। सभी प्रासंगिक जानकारी का उल्लेख करने का प्रयास करें। आपको यह भी उल्लेख करना चाहिए कि आप आर। कैसे चल रहे हैं
जू वांग

जवाबों:


64

स्व उत्तर (अन्य टिप्पणियों और उत्तरों का बहुत सारांश):

  • में RStudio, Escकाम करता है, खिड़कियों पर, मैक और ubuntu (और मैं अन्य लिनक्स वितरण पर साथ ही लगता है कि होगा)।

  • यदि प्रक्रिया ubuntu शेल (और यह Rविशिष्ट नहीं है ), उदाहरण के लिए उपयोग किया जाता है:

    Rscript my_file.R
    

    Ctrl + c प्रक्रिया को मारता है

    Ctrl + z प्रक्रिया को निलंबित करता है

  • आर खोल के भीतर, Ctrl + Cमारता है आप इसे से बचने में मदद करता है


17
दुर्भाग्य से, RStudio में, Escस्मृति-गहन प्रक्रियाओं को बाधित नहीं किया जा सकता है।
ओरियन

14

नियंत्रण-सी काम करता है, हालांकि यह क्या प्रक्रिया कर रहा है पर निर्भर करता है कि यह अभी दूर नहीं ले जा सकता है।

यदि आप यूनिक्स आधारित प्रणाली पर हैं, तो एक काम जो मैं करता हूं, वह कमांड लाइन प्रॉम्प्ट पर वापस जाने के लिए नियंत्रण-जेड है और फिर प्रक्रिया आईडी के लिए एक 'मार' जारी करता है।


6

Ctrl + z को आज़माएं लेकिन यह प्रक्रिया को मार देगा, इसे निलंबित नहीं करेगा।


3
मैंने Ctrl + z की कोशिश की, लेकिन यह भी काम नहीं करता है। मैं विंडोज पर हूँ, btw। हालांकि धन्यवाद।
अकवाल

हाँ, यह एक कीबोर्ड इंटरप्ट नहीं है, साथ ही टर्मिनल विंडो को बंद कर सकता है
altabq

2

मुझे पता है कि यह पुराना है, लेकिन मैं एक ही मुद्दे में भाग गया। मैं मैक / उबंटू पर हूं और आगे-पीछे घूमूंगा। मैंने जो पाया है वह यह है कि मुख्य आर प्रक्रिया के लिए सिर्फ एक साधारण इंटरप्ट सिग्नल भेजना वैसा ही है जैसा आप देख रहे हैं। मैंने ऐसी स्क्रिप्ट्स चलाई हैं जो 24 घंटे तक चलती हैं और सिग्नल इंटरप्ट बहुत अच्छा काम करता है। आपको टर्मिनल में किल चलाने में सक्षम होना चाहिए:

$ kill -2 pid

आप दौड़ कर पा सकते हैं

$ps aux | grep exec/R

विंडोज के बारे में निश्चित नहीं है क्योंकि मैं वहां कभी नहीं हूं, लेकिन मैं कल्पना नहीं कर सकता कि ऐसा करने का कोई विकल्प कमांड प्रॉम्प्ट / टास्क मैनेजर में नहीं है

उम्मीद है की यह मदद करेगा!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.