ใช้ xdotool
ก่อนอื่นต้องแน่ใจว่าxdotool
มีอยู่ในระบบของคุณ:
sudo apt-get install xdotool
คำสั่งต่อไปนี้จะพิมพ์ชื่อกระบวนการของหน้าต่างที่อยู่ในโฟกัส:
cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
เพื่อให้เวลากับตัวคุณเองมากขึ้นในการโฟกัสหน้าต่าง / คลิกที่หน้าต่างคุณสามารถเพิ่มระยะเวลาสลีปล่วงหน้าได้:
sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
ชื่อกระบวนการควรจะแสดงหลังจากช่วงเวลาสั้น ๆ
ใช้ wininfo
Wininfo เป็นโปรแกรมกราฟิกที่แสดงข้อมูลต่าง ๆ บน windows และคุณสมบัติต่าง ๆ รวมถึง PID (ID กระบวนการ) ที่เกี่ยวข้องกับหน้าต่าง:
wininfo
ควรมีอยู่ในที่เก็บอย่างเป็นทางการ:
sudo apt-get install wininfo
เมื่อพิจารณาถึง PID ของหน้าต่างแล้วคุณสามารถค้นหาชื่อกระบวนการที่เกี่ยวข้องได้ มีหลายวิธีในการทำเช่นโดยดูที่/proc
:
$ cat /proc/17002/comm
gnome-terminal
นี้จะเป็นชื่อกระบวนการที่เกี่ยวข้องกับ 17002
PID
วิธีที่สง่างามกว่าที่อนุญาตให้ตรวจสอบบริบททรีกระบวนการตามที่แนะนำโดย@Rmano :
$ pstree -a -s -l -p -u 17002
init,1
└─lightdm,1900
└─lightdm,3202 --session-child 12 19
└─lxsession,3307,glutanimate -s LXDE -e LXDE
└─openbox,3362 --config-file /home/glutanimate/.config/openbox/lxde-rc.xml
└─gnome-terminal,17002
├─bash,1841
├─bash,2332
├─bash,2424
│ └─pstree,2484 -a -s -l -p -u 17002
├─gnome-pty-helpe,1840
├─{gnome-terminal},1835
├─{gnome-terminal},1836
├─{gnome-terminal},1842
└─{gnome-terminal},2269
แน่นอนว่าคุณสามารถรวมpstree
กับxdotool
ตัวเลือกด้านบน (ขอบคุณ @ rubo77 สำหรับการชี้เรื่องนี้!):
sleep 2; pstree -spaul $(xdotool getwindowpid "$(xdotool getwindowfocus)")
แหล่งที่มา:
/unix//q/38867/29245
http://www.linuxquestions.org/questions/debian-26/how-to-find-the-process-associated-with-a-top-level-x-window-907125/
/superuser//q/632979/170160
pstree -a -s -l -p -u $PID
ซึ่งเป็นสิ่งที่ดีมาก ...