実行すると、実行中のすべてのプロセスにtmux kill-session
転送されます。SIGHUP
これは通常私の目的には十分ではありません。SIGINT
またはSIGKILL
。
次のコマンドがトリックを実行します。
tmux list-panes -s -F "#{pane_pid} #{pane_current_command}" | grep -v tmux | awk '{print $1}' | xargs kill -9
(したがって回答.)
電話するたびにどのように実行できますかkill-session
?明らかにフックはありませんbefore-kill-session
。
答え1
これを試してみることができます -
次のスクリプトにコマンドを入れます。
tmux lsp ...
tmux real-kill-session "$@"
+xで作成してください。次に、command-alias
次のように追加します。
set -s command-alias[100] 'real-kill-session=kill-session'
set -s command-alias[101] 'kill-session=run /path/to/kill.sh'
一般的に、すべてのSIGKILLを送信するのは悪い考えですが、SIGTERMまたはSIGINTかもしれませんが、実際にはSIGHUPと変わらないはずです。