จะฆ่าเซสชัน tmux ทั้งหมด (หรืออย่างน้อยหลายเซสชัน) จาก CLI ได้อย่างไร


94

จะฆ่าเซสชัน tmux ทั้งหมด (หรืออย่างน้อยหลายเซสชัน) จาก (Ubuntu) CLI ได้อย่างไร

เมื่อฉันps aux | grep tmuxฉันเห็น 3 กระบวนการ:

UU      2970  0.0  0.0  19556  1228 pts/0    S+   02:48   0:00 tmux
UU      3445  0.0  0.0  12944   988 pts/5    S+   03:31   0:00 grep --color=auto tmux
UU     27557  0.0  0.2  29788  4840 ?        Ss   Jan04   0:02 tmux

ฉันจะฆ่าสิ่งเหล่านี้ทั้งหมดได้ในครั้งเดียว (หรืออย่างน้อยก็บางคนเลือกได้)?

คำตอบ:


169

คุณสามารถใช้tmux kill-serverเพื่อฆ่าเซสชัน tmux open (และเซิร์ฟเวอร์) ได้อย่างเรียบร้อยและสง่างาม

หากคุณอยู่ในเซสชัน tmux ที่คุณต้องการเก็บไว้ใช้tmux kill-session -aเพื่อปิดเซสชันอื่นทั้งหมด

หากต้องการปิดเซสชันtmux list-sessionsที่ระบุให้ใช้เพื่อระบุเซสชันที่คุณต้องการฆ่าแล้วใช้tmux kill-session -t targetSessionเพื่อฆ่าเซสชันที่ระบุนั้น

นอกจากนี้คุณสามารถหนักแน่นฆ่ากระบวนการ tmux pkill -f tmuxทั้งหมดที่มี

หวังว่ามันจะช่วย


1
ps aux | grep tmuxหลังจากที่tmux kill-serverยังคงแสดงกระบวนการ tmux ... เช่นเดียวกับpkill -f tmuxในคำตอบของฉัน คุณอธิบายได้ไหม ขอบคุณ
JohnDoea

1
@Benia คุณแน่ใจหรือไม่ว่าคุณไม่เพียงแค่เห็นgrep tmuxกระบวนการ (ซึ่งรวมอยู่ในเอาต์พุต ps ของคำถามเดิมของคุณ)?
ขับเหล็ก

1
หากคุณออกps aux | grep blablablawhichdoesntexistมันจะแสดงอย่างน้อยหนึ่งบรรทัดที่สอดคล้องกับgrep blablablawhichdoesntexistคำสั่ง
dgonzalez

1
คุณไม่มีการ-tตั้งค่าสถานะเพราะมันแสดงข้อผิดพลาดโดยไม่มีการ-tตั้งค่าสถานะสำหรับการฆ่าเซสชันที่เฉพาะเจาะจง Usage: kill-session [-a] [-t target-session]
1rq3fea324wre

1
มันเคยเจ็บปวดมากtmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill
โหลด


13

ฉันสามารถฆ่ากระบวนการทั้งหมดเหล่านี้ด้วยคำสั่ง:

pkill -f tmux

มันฆ่ากระบวนการทั้งหมด (รายการทั้งหมด) ของชื่อที่ตรงกัน (tmux)


หมายเหตุสำหรับผู้มาใหม่: วิธีนี้จะช่วยให้คุณสามารถฆ่ากระบวนการทั้งหมดของชื่อที่ตรงกันอื่น ๆ

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