quando executo tmux kill-session
, ele envia SIGHUP
para todos os processos que estão em execução. Muitas vezes isso não é suficiente para meus propósitos e quero enviar SIGINT
ou SIGKILL
.
Um comando como este resolveria o problema:
tmux list-panes -s -F "#{pane_pid} #{pane_current_command}" | grep -v tmux | awk '{print $1}' | xargs kill -9
(A partir desteresponder.)
Como posso executar isso toda vez que ligo kill-session
? Aparentemente não há before-kill-session
gancho.
Responder1
Você poderia tentar isso -
Coloque seu comando em um script como este:
tmux lsp ...
tmux real-kill-session "$@"
E faça +x. Em seguida, adicione command-alias
assim:
set -s command-alias[100] 'real-kill-session=kill-session'
set -s command-alias[101] 'kill-session=run /path/to/kill.sh'
Geralmente é uma má ideia enviar tudo SIGKILL... SIGTERM ou SIGINT talvez, mas eles não deveriam ser diferentes de SIGHUP.