มีวิธีที่จะทำให้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--oldestSIGTERMเหมือนกับสัญญาณ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 และใช้เวลาไม่กี่พยายามที่จะได้รับสิทธิจริง