tmux: ตรวจสอบว่ากระบวนการใดทำงานในบานหน้าต่างที่ใช้งานอยู่


12

มีวิธีการตรวจสอบกระบวนการทำงานในบานหน้าต่างที่ใช้งานอยู่?

tmux: ค้นหาหน้าต่าง "ของฉัน" ตรวจสอบว่ามันเกี่ยวข้องกับการใช้งานอยู่หรือไม่อย่างไรก็ตามมันเกี่ยวข้องกับการตรวจจับจากภายในบานหน้าต่าง

ฉันต้องการตรวจสอบสิ่งนี้จากคำสั่งภายนอก (ไม่ใช่จากภายในเซสชัน tmux)

ปัญหาน่าจะเป็นไปได้มากถึงสองขั้นตอน:

  1. ตรวจสอบว่าบานหน้าต่างใดทำงานอยู่
  2. ตรวจสอบว่ากระบวนการใดทำงานในบานหน้าต่างที่กำหนด

คุณสามารถพบสคริปต์ของฉันเป็นประโยชน์
x-yuri

คำตอบ:


13

ปรากฎว่า tmux มีความสามารถในการจัดรูปแบบที่มีประสิทธิภาพสำหรับคำสั่ง list-panes:

$ tmux list-panes -F '#{pane_active} #{pane_pid}'
0 4993
0 5382
1 6189

คำสั่งดังกล่าวจะพิมพ์

1 <process_pid>

สำหรับบานหน้าต่างที่ใช้งานอยู่

ตัวเลือกการแช่แข็งอธิบายไว้ในman tmux:

 pane_active                     1 if active pane
 pane_pid                        PID of first process in pane

สำหรับการอภิปรายของคำว่า "กระบวนการแรกในบานหน้าต่าง" ให้ดูที่ "pid แรกของบานหน้าต่าง" ใน tmux หมายถึงอะไร

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