[संपादित करें: यह कुछ अन्य प्रश्नों के समान है जो पूछते हैं कि सभी स्पैन्ड प्रक्रियाओं को कैसे मारना है - उत्तर सभी को pkill का उपयोग करते प्रतीत होते हैं। इसलिए मेरे सवाल का मूल यह हो सकता है: क्या स्क्रिप्ट द्वारा प्रायोजित सभी प्रक्रियाओं के लिए Ctrl-C / Z को प्रचारित करने का कोई तरीका है?]
जब कोरुटिल्स ( यहां चर्चा की गई ) से कमांड के rec
साथ एक सॉक्स को कॉल करते हैं , तो बैश स्क्रिप्ट के भीतर से इसे मंगाने के बाद कीस्ट्रोके के साथ इसे मारने का कोई तरीका नहीं लगता है।timeout
उदाहरण:
timeout 10 rec test.wav
... मार के साथ Ctrl+ Cया Ctrl+ Zसे मारा जा सकता है , लेकिन नहीं जब यह एक स्क्रिप्ट के अंदर से बुलाया गया है।
timeout 10 ping nowhere
... के साथ मार डाला जा सकता है Ctrl+ Cया Ctrl+ Zबैश से, और साथ Ctrl+ Zजब यह एक स्क्रिप्ट के भीतर से चला रहा है।
मैं प्रक्रिया आईडी पा सकता हूं और इसे इस तरह से मार सकता हूं, लेकिन मैं मानक ब्रेक कीस्ट्रोक का उपयोग क्यों नहीं कर सकता हूं? और क्या मेरी स्क्रिप्ट को तैयार करने का कोई तरीका है ताकि मैं कर सकूं?
timeout
अपने सिस्टम पर नहीं है, लेकिन sleep
काम करता है कि क्या यह कमांड लाइन पर सीधे टाइप किया गया है, खट्टा, निष्पादित या दुभाषिया के माध्यम से स्पष्ट रूप से पारित किया गया है
bg
केfg
आदेशों। वैसे भी, क्या आपके 1 और 3 डी उदाहरणों के बीच अंतर है?