मैं इसे अवरुद्ध किए बिना टर्मिनल से कमांड कैसे चला सकता हूं?


45

मैं टर्मिनल से उबंटू में बहुत सारे कार्यक्रम चलाता हूं, लेकिन मैं प्रोग्राम खोलने के बाद टर्मिनल का उपयोग जारी रखने में सक्षम होना चाहूंगा। मैं प्रोग्राम को पृष्ठभूमि में कैसे रख सकता हूं ताकि मुझे दूसरी विंडो न खोलनी पड़े?

जवाबों:


60

टर्मिनल प्रोग्राम चलाने और टर्मिनल का उपयोग जारी रखने के विभिन्न तरीके हैं:

  • आप एक और टर्मिनल टैब खोल सकते हैं (राइट-क्लिक करें, फिर "नया टैब खोलें" चुनें)।
  • आप अपने द्वारा &चलाए जा रहे आदेश के लिए संलग्न कर सकते हैं। ध्यान रखें कि आप टर्मिनल पर टेक्स्ट आउटपुट नहीं देखेंगे, जैसे कि त्रुटि संदेश।
  • आप टाइप कर सकते हैं Ctrl- Zऔर फिर चला सकते हैं bg। यह चलने जैसा ही प्रभाव हैcommand &
  • आप चला सकते हैं nohup command &और फिर एंटर दबा सकते हैं। ( Ccpizza के लिए धन्यवाद , नीचे टिप्पणियां देखें)

हालांकि, दबाने Alt- F2और उसके बाद जीयूआई से अपने आदेश चलाकर आम तौर पर सबसे अच्छा अभ्यास माना जाता है - वहाँ सब पर कोई टर्मिनल!

ध्यान दें कि उपयोग करते समय &(नहीं nohup), टर्मिनल कोdisown बंद करना तब भी एप्लिकेशन को समाप्त कर देगा जब तक आप बाद में नहीं चलाते

संपादित करें: ऐसा लगता है कि उपयोग करने nohupसे कभी-कभी आपके घर के फ़ोल्डर में छोटी बूंदें निकल जाएंगी। आम तौर पर टर्मिनल में लॉग इन किया गया है, जाहिरा तौर पर ~ / में एक फ़ाइल में सहेजा जाता है।

~~

पृष्ठभूमि में एक कार्यक्रम चलाने का एक सरल तरीका है program-name & disown, जो आपको एक टर्मिनल पर छोड़ देगा जो प्रक्रिया को मारने के बिना बंद किया जा सकता है।


4
टर्मिनल बंद होने के बाद बच्चे की प्रक्रिया को रोकने के लिए आप अपना ऐप शुरू कर सकते हैं nohup firefox&
ccpizza

ठंडा! मुझे नहीं पता था कि (लेकिन प्रयोग पर, टर्मिनल अभी भी "अवरुद्ध" है)!
WindowsEscapist

यह 'अवरुद्ध' नहीं है, यह केवल 'दिखता है' अवरुद्ध है, यदि आप एक बार दर्ज करते हैं तो आपको एक संकेत मिलेगा।
ccpizza

आह, मैंने पहले नोटिस नहीं किया था।
WindowsEscapist

program-name & disownएक अच्छा समाधान है
डॉक्टर हेनरी

8

आप कमांड को a & आफ्टर से चला सकते हैं।

उदाहरण के लिए:

थंडरबर्ड और

अधिक जानकारी के लिए यहां देखें ।


यह केवल तब तक काम करता है जब तक आप टर्मिनल विंडो को बंद नहीं करते हैं, एक बार जब आप विंडो को बंद कर देते हैं तो प्रोग्राम समाप्त हो जाएगा
kurdtpage

6

आप setsidनए सत्र में प्रोग्राम चलाने के लिए उपयोग कर सकते हैं इसके अलावा &>/dev/nullआपको कोई लॉग संदेश प्राप्त नहीं होगा।

तो ऐसा ही होगा

setsid program-name &>/dev/null


ठंडा। उपयोगकर्ता लॉगआउट और वर्तमान सत्र बंद होने पर इसे चालू रखना होगा।
मिखाइल मोस्कलेव

1

screenकमांड का उपयोग करके , आप एकल विंडो और टैप का उपयोग करके कई टर्मिनल सत्र खोल सकते हैं

apt-get install screen (On Debian based Systems)

yum install screen (On RedHat based Systems)

screen (नई स्क्रीन शुरू करें)

[Your command]

Ctrl+A d स्क्रीन छोड़ने के लिए ... और इतने पर

https://linuxize.com/post/how-to-use-linux-screen/


0

आप इसे वर्चुअल टर्मिनल में चला सकते हैं जैसे tmux(या screenमैंने सुना है कि यह अब भी कायम नहीं है)

# This ataches your terminal to a virtual terminal
tmux
run_your_command
# This detaches your virtual terminal (previous command can be running)
CTRL-b d
run_other_commands # on your terminal
# re-attach the virtual terminal to see the status of run_your_command
tmux a

tmux बहुत कुछ कर सकते हैं, जैसे:

  • अपने वर्चुअल टर्मिनल को दूसरे टर्मिनल पर ले जाएं
  • वर्चुअल टर्मिनल को कई टर्मिनलों में साझा करें (अन्य उपयोगकर्ता देख सकते हैं कि आपका क्या काम ;-))
  • कई टर्मिनलों के लिए "स्क्रीन" विभाजित करें।
  • ...

https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/

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