Setiap panel tmux adalah antarmuka untuk satu pty (pseudo tty). Jendela yang tidak terbelah memiliki panel tunggal; jendela terpisah memiliki beberapa panel.
tmux tidak menyediakan cara untuk menambahkan proses tambahan ke panel setelah dimulai dengan perintah awal. Terserah proses perintah awal itu (biasanya shell) untuk memasok kontrol pekerjaan 1 untuk terminal itu.
Jika Anda ingin mengalahkan apa pun yang sedang berjalan di panel, Anda dapat menggunakan respawn-pane -k
untuk membunuh perintah yang ada dan menggantinya dengan yang baru (misalnya, respawn-pane -t sessionname:0.4 -k 'some -new command'
).
Tapi, jika Anda ingin mempertahankan apa pun yang sedang berjalan di panel, maka mungkin tidak ada opsi yang lebih baik yang cukup "mengetik itu" dengan send-keys
.
Anda dapat skrip seperti ini (lampirkan yang terakhir, karena jika tidak skrip akan menunggu Anda untuk melepaskan sebelum melanjutkan):
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"
Perhatikan bahwa, pada send-keys
perintah, Anda sebenarnya harus mengetikkan huruf
E n t e r, untuk memberi tahu tmux
untuk mengirim kunci baris baru ke jendela. (Secara alami, setiap perintah berakhir dengan Enterkunci.)
1 Kontrol pekerjaan adalah arbitrase antara beberapa grup proses dalam satu sesi yang menggunakan tty sebagai terminal pengendali. Yaitu, Ctrl+ Zmenangguhkan kunci, dan jobs
, fg
, dan bg
shell perintah.
#{session_name}:#{window_index}.#{pane_index}
baris status saya sehingga saya dapat dengan cepat melihat panel mana untuk mengirim perintah.