टर्मिनल में एक लंबे समय तक चलने वाले कार्यक्रम को रोकना?


17

क्या कोई कीबोर्ड कुंजी संयोजन है जिसका उपयोग मैं टर्मिनल में चल रहे प्रोग्राम को रोकने के लिए कर सकता हूं? इस मामले में, मैं उस टर्मिनल के अंदर कुछ और चलाने का इरादा नहीं करता, जबकि कार्यक्रम को रोक दिया गया है। मैं सिर्फ कार्यक्रम के निष्पादन को रोकना चाहता हूं, और बाद में इसे फिर से शुरू करना चाहता हूं। मैं यह कैसे कर सकता हूँ?


क्या वास्तव में कार्यक्रम?
जॉब

@ जॉबिन ए प्रोग्राम मैंने C ++ में लिखा था। लेकिन मैं सोर्स कोड नहीं बदलना चाहता।
becko

क्या आप रिबूट या कुछ के बाद प्रक्रिया को फिर से शुरू करना चाहते हैं?
जॉब

@ जोबन नहीं, मैं रिबूट नहीं करना चाहता। मैं बाद में फिर से शुरू करना चाहता हूं, लेकिन मैं बीच में सिस्टम को रिबूट नहीं करूंगा।
40

जवाबों:


17

Control+ दबाएं Z

यह प्रक्रिया को निलंबित कर देगा और आपको एक शेल में लौटा देगा। आप कर सकते हैं अन्य बातों के अब क्या अगर आप चाहते हैं या आप में प्रवेश करने से पृष्ठभूमि प्रक्रिया पर लौट सकते हैं %, जिसके बाद Return

ध्यान दें कि यदि आप ऐसा कुछ कर रहे हैं जो उत्तरदायी होना चाहिए, तो आप सिस्टम को टैंक करने जा रहे हैं, लेकिन अगर यह सिर्फ एक nanoउदाहरण की तरह है , तो सब कुछ ठीक होना चाहिए।


क्या टर्मिनल-प्रक्रिया को रोकना सुरक्षित है?
पंड्या

@ पंड्या: क्यों नहीं?
जॉब

@ पांड्या मुझे यकीन है कि यह प्रक्रिया पर निर्भर करता है ... अगर कोई चीज बहुत संवेदनशील है, तो उसे निलंबित करने की उम्मीद नहीं की जा सकती है, लेकिन ज्यादातर चीजें ठीक होनी चाहिए।
ओली

16

यह बैश जॉब कंट्रोल है

नौकरी रोकने के लिए CTL-Z का इस्तेमाल करें ।

तब आप इसे पृष्ठभूमि में चलाने के लिए bg टाइप कर सकते हैं , यदि केवल नौकरी पर है तो यह ठीक यही करता है।

यदि आपके पास एक से अधिक हैं तो आप नौकरियों को सूचीबद्ध करने के लिए उपयोग कर सकते हैं और वांछित प्रभाव के लिए fg% N और bg% N का उपयोग कर सकते हैं ।

उदाहरण:

ubuntu @ ip-10-170-59-120: ~ $ find / usr -name "* .so"
/usr/lib/python2.7/dist-packages/OpenSSL/crypto.so
/usr/lib/python2.7/dist-packages/OpenSSL/SSL.so
/usr/lib/python2.7/dist-packages/OpenSSL/rand.so
/usr/lib/python2.7/dist-packages/gi/_glib/_glib.so
/usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
/usr/lib/python2.7/dist-packages/gi/_gi.so
/usr/lib/python2.7/config/libpython2.7.so
...
^ Z
[१] + रोक दिया गया / usr -name 

ubuntu @ ip-10-170-59-120: ~ $ नौकरी
[१] + रोक दिया गया / usr -name "* .so"

ubuntu @ ip-10-170-59-120: ~ $ fg% 1
ढूँढें / usr -name "* .so"
/usr/lib/php5/20090626+lfs/apc.so
/usr/lib/php5/20090626+lfs/memcache.so
/usr/lib/php5/20090626+lfs/mysql.so
...

TTY से जुड़ी किसी और चीज़ के लिए आप SIGSTOP और SIGCONT का उपयोग नहीं कर सकते । इसलिए उदाहरण के लिए अगर आपको लगता है कि डेमॉन समस्या पैदा कर रहा है, लेकिन आपको नहीं पता कि यह कौन सा है, तो आप पिड SIGSTOP भेज सकते हैं, यह पॉज मारने जैसा है, फिर परिवर्तनों की जांच करें, ठीक है, और यह कुल्ला और तब तक दोहराएं जब तक आप समस्या का पता लगाएं।

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


1
अच्छा उत्तर! क्या मैं सिर्फ यह जोड़ सकता हूं कि यह केवल बाश की बात नहीं है? कोर्न शेल उसी तरह काम करता है।
सेर्गी कोलोडियाज़नी

4

मुझे पता है कि यह उत्तर थोड़ा देर से है, लेकिन आप Ctrl+sअपने प्रोग्राम को रोकने के लिए शॉर्टकट का उपयोग कर सकते हैं (यदि आप चाहते हैं कि आउटपुट या ऐसा कुछ पढ़ा जाए), तो आप शॉर्टकट का उपयोग जारी रख सकते हैं Ctrl+q

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