प्रत्येक tmux pane एकल pty (छद्म tty) के लिए एक अंतरफलक है। गैर-विभाजित खिड़कियों में एक एकल फलक है; स्प्लिट विंडो में कई पैन हैं।
tmux एक प्रक्रिया के लिए अतिरिक्त प्रक्रियाओं को जोड़ने के लिए एक तरह से आपूर्ति नहीं करता है एक बार इसकी प्रारंभिक कमांड के साथ शुरू किया गया है। यह उस टर्मिनल के लिए नौकरी नियंत्रण 1 की आपूर्ति करने के लिए प्रारंभिक कमांड की प्रक्रिया (आमतौर पर एक शेल) पर निर्भर है ।
यदि आप फलक में वर्तमान में जो कुछ भी चल रहा है, उसे बंद करना चाहते हैं, तो आप respawn-pane -k
मौजूदा कमांड को मारने के लिए उपयोग कर सकते हैं और इसे एक नए (जैसे respawn-pane -t sessionname:0.4 -k 'some -new command'
) के साथ बदल सकते हैं ।
लेकिन, यदि आप वर्तमान में जो कुछ भी चल रहा है, उसे बनाए रखना चाहते हैं, तो इससे बेहतर कोई विकल्प नहीं हो सकता है send-keys
।
आप इसे इस तरह से स्क्रिप्ट कर सकते हैं (अंतिम संलग्न करें, क्योंकि अन्यथा स्क्रिप्ट बस जारी होने से पहले आपको अलग होने का इंतजार करेगी)
session=whatever
window=${session}:0
pane=${window}.4
tmux send-keys -t "$pane" C-z 'some -new command' Enter
tmux select-pane -t "$pane"
tmux select-window -t "$window"
tmux attach-session -t "$session"
ध्यान दें कि, send-keys
कमांड पर, आपको वास्तव में पत्र लिखना चाहिए
E n t e r, tmux
विंडो में एक नई पंक्ति भेजने के लिए बताने के लिए। (स्वाभाविक रूप से, हर कमांड Enterकुंजी के साथ समाप्त होता है ।)
1 नौकरी नियंत्रण एकल सत्र के कई प्रक्रिया समूहों के बीच मध्यस्थता है जो ट्टी को अपने नियंत्रण टर्मिनल के रूप में उपयोग करता है। यानी, Ctrl+ Zकुंजी स्थगित करता है, और jobs
, fg
और bg
खोल आदेशों।
#{session_name}:#{window_index}.#{pane_index}
अपनी स्टेटस लाइन में लगा दिया ताकि मैं जल्दी से देख सकूँ कि किस पेन को कमांड भेजनी है।