各tmuxペインは、単一の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ジョブ制御は、制御端末としてttyを使用する単一セッションの複数のプロセスグループ間の調停です。すなわち、Ctrl+ Zキー、一時停止、およびjobs
、fg
、およびbg
シェルコマンド。
#{session_name}:#{window_index}.#{pane_index}
、私はすぐにコマンドを送信するためにどのペイン見ることができるように、私のステータスラインに。