cuando lo ejecuto tmux kill-session
, envía SIGHUP
a todos los procesos que se están ejecutando. A menudo esto no es suficiente para mis propósitos y quiero enviar SIGINT
o SIGKILL
.
Un comando como este funcionaría:
tmux list-panes -s -F "#{pane_pid} #{pane_current_command}" | grep -v tmux | awk '{print $1}' | xargs kill -9
(De estorespuesta.)
¿Cómo puedo ejecutar esto cada vez que llamo kill-session
? Al parecer no hay ningún before-kill-session
gancho.
Respuesta1
Podrías probar esto...
Pon tu comando en un script como este:
tmux lsp ...
tmux real-kill-session "$@"
Y hazlo +x. Luego agregue command-alias
así:
set -s command-alias[100] 'real-kill-session=kill-session'
set -s command-alias[101] 'kill-session=run /path/to/kill.sh'
Aunque suele ser una mala idea enviar todo SIGKILL... quizás SIGTERM o SIGINT, pero en realidad no deberían ser diferentes de SIGHUP.