ターミナルウィンドウが閉じたときにtmuxウィンドウを自動的に終了するには?

ターミナルウィンドウが閉じたときにtmuxウィンドウを自動的に終了するには?

ターミナルウィンドウのtmuxウィンドウでプロセスを開始しています。ターミナルウィンドウを閉じるとプロセスは自動的に終了しませんが、ターミナルウィンドウを閉じる前にtmuxウィンドウを終了するとプロセスは終了します。ターミナルウィンドウが閉じたときに関連するtmuxウィンドウを終了する方法は?

ターミナルウィンドウを閉じるイベントにコマンドをバインドできますか?

答え1

これは少し面倒ですが、対話型シェル構成に追加できます。

alias tmuxn='tmux new-session -s $$'
_trap_exit() { tmux kill-session -t $$; }
trap _trap_exit EXIT

tmuxnその後、それを使用して新しいセッションを開始できます。セッション名はシェルのPIDで指定されます。シェルが終了すると、セッションは終了します。

答え2

たぶんあなたはできません。
tmuxを使用するほとんどの人はtmux通常、プロセス()の実行を維持するためにtmuxウィンドウの代わりにターミナルウィンドウを閉じますssh-client for example。その後、他の端末に元のtmuxセッションを接続できます。
これが必要でない場合特徴terminator、代わりに使用することができますtmuxターミネーター端末ウィンドウ自体を分割します。したがって、終了者ウィンドウを閉じると、そのウィンドウで実行されているすべての項目が閉じられます。バックグラウンドには何も保持されません。

関連情報