ฉันจะบอกชื่ออิมเมจกระบวนการ (เพื่อเรียกใช้จากเทอร์มินัลโดยใช้sudo
) ที่แสดงบน Ubuntu UI ได้อย่างไร
ฉันจะบอกชื่ออิมเมจกระบวนการ (เพื่อเรียกใช้จากเทอร์มินัลโดยใช้sudo
) ที่แสดงบน Ubuntu UI ได้อย่างไร
คำตอบ:
ตามคำขอของคุณในคำถามอื่น ๆ นี่คือคำตอบของฉันอีกครั้ง:
ฉันแน่ใจว่ามีวิธีการทำที่สะอาดกว่า แต่สำหรับคำถามที่สองของคุณคุณสามารถลองทำสิ่งนี้:
xprop _NET_WM_PID | sed 's/_NET_WM_PID(CARDINAL) = //' | ps `cat`
สิ่งนี้จะทำให้เคอร์เซอร์ข้ามซึ่งคุณสามารถคลิกที่หน้าต่างที่เปิดอยู่ มันจะรายงาน PID และคำสั่งในเครื่องที่คุณใช้งาน
โดยทั่วไปแล้ว xprop และ xwininfo จะให้ข้อมูลมากมายเกี่ยวกับหน้าต่างที่เปิดอยู่
"อะพอสโทรฟี" ที่ฉันใช้กับแมวโดยรอบคือปุ่ม ~ บนแป้นพิมพ์ของฉันโดยไม่ต้องกดปุ่ม Shift ควรให้ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้กับคุณ:
xprop | grep PID
(แม้ว่าจะพิมพ์ ID กระบวนการเท่านั้น)
คุณสามารถลองxprop | grep WM_CLASS
แล้วคลิกที่หน้าต่างที่คุณสนใจ
ตัวอย่าง:
#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gedit", "Gedit"
#> xprop | grep WM_CLASS
WM_CLASS(STRING) = "gcalctool", "Gcalctool"
รันคำสั่งนี้ในเทอร์มินัล:
xprop | awk '/PID/ {print $3}'
ตัวชี้เมาส์ของคุณจะถูกแทนที่ด้วยกากบาท เลือกหน้าต่างที่คุณสนใจ
วิธีนี้แสดงเพียง PID ของกระบวนการที่เป็นเจ้าของหน้าต่างนั้น (ซึ่งดูเหมือนจะเป็นสิ่งที่คุณต้องการ)
คุณสามารถรับข้อมูลกระบวนการโดยใช้:
$ ps -f --pid $(xprop _NET_WM_PID | grep -o '[0-9]*')
การเรียกใช้xprop | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'
และคลิกหน้าต่างที่คุณต้องการ PID จะพิมพ์ PID ไปยังเทอร์มินัล