분리 된 tmux 세션을 삭제하는 방법?


25

tmux 세션에서 나 자신을 분리했습니다.

$ tmux ls
0: 1 windows (created Thu Aug 22 22:52:17 2013) [218x59]

어쨌든 내가 분리되었으므로 간단히 삭제할 수 있습니까?


관련 : 여전히 tmux 세션에 연결되어 있으면 Cd (control + D)를 눌러 연결을 끊고 한 번에 삭제할 수 있습니다. (쉘 프롬프트라고 가정합니다.)
stalepretzel

답변:


41

사용하고 싶습니다 tmux kill-session:

<~> $ tmux ls
0: 1 windows (created Sat Aug 17 00:03:56 2013) [80x23]
2: 1 windows (created Sat Aug 24 16:47:58 2013) [120x34]

<~> $ tmux kill-session -t 2

<~> $ tmux ls
0: 1 windows (created Sat Aug 17 00:03:56 2013) [80x23]

2

분리 된 모든 세션 을 삭제하려면 다음 코드를 사용할 수 있습니다.

tmux list-sessions | grep -E -v '\(attached\)$' | while IFS='\n' read line; do
    tmux kill-session -t "${line%%:*}"
done

이 솔루션은 때문에 abieler에 의해 제안 된 것보다 더 강력 grep -E -v '\(attached\)$'일치하는 경우에만 분리 된 세션 (abieler에 의해 용액이 분리 된 세션이라는 건너 뛸 것이다 첨부 ).


0

분리 된 모든 세션을 종료하려면

tmux list-sessions | grep -v attached | cut -d: -f1 |  xargs -t -n1 tmux kill-session -t

의견 / 설명

tmux list-sessions   | # list all tmux sessions
  grep -v attached   | # grep for all lines that do NOT contain the pattern "attached"
  cut -d: -f1        | # cut with the separator ":" and select field 1 (the session name)
  xargs -t -n1       ` # -t echoes the command, -n1 limits xargs to 1 argument ` \
  tmux kill-session -t # kill session with target -t passed from xargs

1
여기서 실제로하고있는 것에 대한 설명을 넣을 수 있습니까? 또한 연결된 세션 이 모두 종료 되므로주의해야합니다.
djsmiley2k-CoW

@ djsmiley2k 분리 된 모든 세션을 의미합니다 ( -v플래그).
Bart Louwers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.