ब्रैड और मैनकॉफ़ के समाधान दोनों अच्छे सुझाव हैं। एक और जो दोनों के संयोजन के समान है, वह आपकी कतार को लागू करने के लिए GNU स्क्रीन का उपयोग करना होगा । इसका बैकग्राउंड में चलने में सक्षम होने का फायदा है, आप इस पर कभी भी जांच कर सकते हैं, और नए कमांड को कतारबद्ध करके पिछले कमांड से बाहर निकलने के बाद उन्हें बफर में पेस्ट कर सकते हैं।
पहला रन:
$ screen -d -m -S queue
(संयोग से, अब कुछ भयानक के साथ खेलने के लिए एक अच्छा समय है। स्क्रीन आर्क फ़ाइलें )
कि आप कतार के नाम के लिए एक पृष्ठभूमि स्क्रीन सत्र शुरू होगा।
अब, आप जितने चाहें उतने आदेशों को कतारबद्ध करें:
screen -S queue -X stuff "echo first; sleep 4; echo second^M"
मैं सिर्फ परीक्षण के लिए ऊपर में कई कमांड कर रहा हूं। आपके उपयोग का मामला संभवतः अधिक दिखाई देगा:
screen -S queue -X stuff "echo first^M"
screen -S queue -X stuff "echo second^M"
ध्यान दें कि ऊपर दी गई मेरी लाइन में "^ M" एक एम्बेडेड नईलाइन प्राप्त करने का एक तरीका है जिसे बाद में स्क्रीन द्वारा आपके मौजूदा बैश शेल में स्टफ किए जाने के बाद व्याख्या की जाएगी। उस क्रम को प्राप्त करने के लिए "CTL-V," का उपयोग करें।
यह बहुत आसान होगा कि कुछ सरल शेल-स्क्रिप्ट बनाएं जो कि स्वचालित और कमांड को कतारबद्ध करें। फिर, जब भी आप अपनी पृष्ठभूमि कतार की स्थिति की जांच करना चाहते हैं, आप इसके माध्यम से पुनः संलग्न करते हैं:
screen -S queue -r
तकनीकी रूप से, आपको अपने स्क्रीन सत्र को नाम देने की भी आवश्यकता नहीं है और यह ठीक काम करेगा, लेकिन एक बार जब आप इस पर आसीन हो जाते हैं, तो आप हर समय किसी एक को छोड़ना चाहते हैं। ;-)
बेशक, यदि आप ऐसा करते हैं, तो ऐसा करने का एक और अच्छा तरीका यह होगा कि वर्तमान खिड़कियों में से एक का नाम "कतार" और उपयोग करें:
screen -S queue -p queue -X stuff "command"