มีวิธีที่จะทำให้google-chrome
ออกจากขั้วนอกเหนือจากการใช้งานkillall google-chrome
หรือไม่?
ฉันต้องการที่จะปิดมันจากสคริปต์โดยไม่ฆ่ามัน
มีวิธีที่จะทำให้google-chrome
ออกจากขั้วนอกเหนือจากการใช้งานkillall google-chrome
หรือไม่?
ฉันต้องการที่จะปิดมันจากสคริปต์โดยไม่ฆ่ามัน
คำตอบ:
อาจwmctrl
ช่วยได้บ้าง คุณสามารถใช้-c
ตัวเลือกที่ปิดหน้าต่างอย่างสง่างาม:
wmctrl -c chrome
สตริงchrome
ถูกจับคู่กับชื่อหน้าต่าง โปรดทราบว่าหน้าต่างอาจไม่ปิดหากมีข้อความปรากฏขึ้น (เช่นเมื่อคุณเปิดหลายแท็บ)
wmctrl
แต่มันจำเป็นต้องติดตั้ง
pkill -o chrome
ไม่ว่า
คำสั่งนี้ออกจากแผนผังกระบวนการ chrome อย่างสง่างามในตัวจัดการหน้าต่างทั้งหมด:
pkill --oldest chrome
หรือถ้าคุณต้องการ:
/usr/bin/pkill --oldest --signal TERM -f chrome
รายละเอียด:
SIGTERM
--oldest
SIGTERM
เหมือนกับสัญญาณ15
ดังนั้น--signal TERM
หรือปล่อยทิ้งไว้เพราะSIGTERM
เป็นสัญญาณเริ่มต้นwmctrl
ทำงานได้กับ Unity และอื่น ๆ แต่ไม่สามารถใช้งานได้กับโปรแกรมจัดการหน้าต่างทั้งหมดwmctrl -c
ปิดหน้าต่างทีละหน้าต่างเพื่อปิดหน้าต่างโครเมี่ยมทั้งหมดที่คุณต้องการ while wmctrl -c 'Google Chrome'; do sleep 0.2; done
--oldest
ไม่ใช่ตัวเลือก: การใช้-o
งาน
-f
อาร์กิวเมนต์ pkill จะไม่ทำงานสำหรับฉัน ฉันมีกระบวนการอื่นที่ทำงานเหมือนรูทซึ่งมีคำว่า chrome อยู่ในบรรทัดคำสั่งดังนั้นฉันเพิ่งได้รับการอนุญาต หากปราศจาก-f
มันก็ใช้งานได้อย่างสมบูรณ์แบบ
สิ่งนี้ใช้ได้กับฉัน:
killall --quiet --signal 15 -- chrome
โปรดทราบว่าฉันใช้คำสั่ง verbose ค่อนข้างเพื่อให้สามารถอ่านได้ในรหัสแน่นอนคุณสามารถออก:
killall -q -15 chrome
เปิดMac OS X
ใช้งานสิ่งนี้แทน
pkill -a -i "Google Chrome"
สิ่งที่ต้องทำคือมองหากระบวนการ Google Chrome และฆ่ากระบวนการหลักทั้งหมดด้วย
จากคู่มือ pkill
-a Include process ancestors in the match list. By default, the
current pgrep or pkill process and all of its ancestors are
excluded (unless -v is used).
-i Ignore case distinctions in both the process table and the
supplied pattern.
ตามคำตอบของ @ keith-cascio คุณสามารถลองฆ่ากระบวนการที่เก่าแก่ที่สุดแทน โปรดทราบว่านี่ไม่ได้ผลสำหรับฉัน
pkill -o -i "Google Chrome"
ลอง:
kill -3 <pid_of_chrome>
สิ่งนี้จะส่งสัญญาณ "QUIT" ไปยังโครเมี่ยมซึ่งขึ้นอยู่กับตัวจัดการหน้าต่างของคุณซึ่งจะเป็นสิ่งที่มักจะถูกส่งเมื่อถูกขอให้ปิด
kill
หรือkillall
ตำแหน่งที่ Chrome เห็นว่าขัดข้องและขอให้กู้คืน
SIGQUIT
มักจะไม่ถูกส่งไปยังแอปพลิเคชันเมื่อถูกขอให้ปิด (ฉันไม่ทราบว่ามี WM ใดที่ทำเช่นนี้) WM_DELETE_WINDOW
เป็นมาตรฐาน
kill -15 <pid_of_chrome>
ทำในสิ่งที่ฉันกำลังมองหา แต่google-chrome
มีหลาย pids และใช้เวลาไม่กี่พยายามที่จะได้รับสิทธิจริง