tmux 세션을 종료할 때 모든 프로세스에 SIGKILL(또는 SIGINT) 신호를 보내는 방법은 무엇입니까?

tmux 세션을 종료할 때 모든 프로세스에 SIGKILL(또는 SIGINT) 신호를 보내는 방법은 무엇입니까?

실행하면 실행 중인 모든 프로세스로 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과 다르지 않아야 합니다.

관련 정보