Gnome Terminalとtmuxを使用していますが、Gnome Terminalを閉じるときにすべてのtmuxセッションを閉じたいのですが、それは可能ですか? tmuxのArchWikiの記事をチェックして、関連するコードをいくつか見つけましたが、どれも私が望むことをしませんでした。現在、Gnomeターミナルを閉じて開くと、すべてのペインとプログラムが実行されている状態でターミナルを閉じる直前のセッションが表示されます。私が欲しいのは、Gnomeターミナルを閉じるとすべてのセッションが強制終了されることです。
承認された回答:
オプション1:.bash_logout
を使用します
.bash_logout
で 追加できるファイルtmux kill-server
。ログインシェルを使用していない場合、またはシェルがSIGHUPで強制終了された場合、これは機能しません。
オプション2:bashトラップを使用します。
このオプションはおそらくより堅牢です。次のコードを.bash_profile
に配置します (bashを使用すると仮定します)。
function close_tmux
{
tmux kill-server
}
trap close_tmux EXIT
トラップに関する追加リソースへのリンク
trap
の背景 ステートメント
trap
がたくさんあるブログ投稿 例
Bashスクリプトガイドのトラップに関する章
トラップに関するUnixとLinuxのStackExchangeの質問