切り離された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フラグ)。
バートルーワーズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.