วิธีปิดเซสชัน tmux


59

ฉันใช้ tmux เพื่อจัดการหน้าต่างเทอร์มินัลหลายเครื่อง ขณะนี้ฉันมี 2 หน้าต่างที่เปิดพร้อมบานหน้าต่างหลายบาน ฉันรู้ว่าฉันต้องใช้คำนำหน้า (สำหรับฉันมันคือctrl+ a) เพื่อป้อนคำสั่ง

ฉันจะปิดเซสชันจากด้านในของ tmux ได้อย่างไร คำสั่งใดที่จะปิดเซสชัน (หน้าต่างและบานหน้าต่างทั้งหมด) และ tmux ในเวลาเดียวกัน


หากต้องการแยกออกจาก tmux (ปล่อยให้กระบวนการทำงานอยู่): unix.stackexchange.com/a/174443/178412
atomh33ls

คำตอบ:


80

กดคำนำหน้าของคุณ (เช่นCtrl+ AหรือBซึ่งเป็นค่าเริ่มต้น) แล้ว:และประเภทจากนั้นกดkill-session Enterสิ่งนี้จะเป็นชื่อของคำสั่งที่แนะนำฆ่าเซสชัน


29

หากคุณต้องการปิดเซสชันอื่นนอกเหนือจากเซสชันปัจจุบัน (และทำให้ tmux ยังคงทำงานอยู่ให้ปิดเซสชันปัจจุบันดังที่คำตอบของ @ 0xC0000022L ให้ปิด tmux แม้ว่าจะมีเซสชันอื่นให้ใช้งาน) ให้ทำสิ่งต่อไปนี้ในหน้าต่าง tmux หนึ่งรายการ:

# tmux ls
keepMe: 1 windows (created Wed Jun 24 14:20:15 2015) [171x41]
otherSession: 1 windows (created Wed Jun 24 14:22:01 2015) [171x41]
3: 1 windows (created Wed Jun 24 14:23:28 2015) [171x41]

(assuming here that you're on keepMe session)
# tmux kill-session -t otherSession
-or-
# tmux kill-session -t 3

สิ่งนี้จะลบ "otherSession" หรือหมายเลขเซสชัน 3 และออกจากการเรียกใช้ tmux โดยสมมติว่าคุณไม่ได้เลือก "otherSession" หรือหมายเลข 3 ไว้เมื่อคุณลบออก


หรือถ้าคุณต้องการใช้คำนำหน้าของคุณctrl + prefixตามด้วย:แล้วพิมพ์ หรือkill-session -t name ถ้าคุณทำเช่นนี้จากภายในเซสชั่นที่คุณต้องการที่จะฆ่าใส่กลับเข้าไปใช้kill-session -t number tmux a
Matijs

17

คำนำหน้า TMUX (เช่นctrl+ b) +:kill-session

หรือ

tmux kill-session (สามารถเรียกใช้อย่างใดอย่างหนึ่งจากภายในเซสชันหรือภายนอก)

ทั้งสองรูปแบบของการเรียกใช้สามารถใช้ค่าสถานะ:

-t target-sessionทำลายเซสชั่นที่กำหนด
-aทำลายเซสชั่นทั้งหมด แต่หนึ่งหรือหนึ่งที่คุณแนบ

การรันkill-sessionจากด้านนอกของ TMUX จะฆ่าเซสชันล่าสุดที่คุณแนบไว้ -aตีความว่า

ในกรณีที่คุณมีมากกว่าหนึ่งเซสชั่นการทำงานที่คุณสามารถฆ่าเซสชันทั้งหมดkill-serverในครั้งเดียวด้วย:


นี่คล้ายกับคำตอบที่ยอมรับในปัจจุบันคุณช่วยอธิบายรายละเอียดเพิ่มเติมหน่อยได้ไหมว่าทำไมคำตอบของคุณถึงแตกต่างออกไป?
Burgi

1
ไม่มีใครชี้ให้เห็นว่าคุณสามารถปิดเซสชันทั้งหมดด้วยkill-serverคำสั่ง kill-sessionฉันยังชอบที่จะให้ความลึกมากขึ้นเพียงเล็กน้อยเกี่ยวกับธงสำหรับ
FSchndr

+1: คำตอบนี้เป็นคำตอบเดียวที่มีประโยชน์-aในการทำลายเซสชันอื่นทั้งหมด
AaronDanielson

นี่คือคำตอบที่ดีกว่า ฉันหวังว่านี้อยู่บนยอดของคำตอบที่ ...
Blaszard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.