ฉันมีสคริปต์นี้ที่ค้นหาแอปพลิเคชันหลายตัวและฆ่าพวกเขาในสถานการณ์ที่มีหน่วยความจำเหลือน้อย (หรือเมื่อเบราว์เซอร์เริ่มทำงานช้า CPU)
pkill -f 'chrome --type=renderer' (ฆ่าเฉพาะแท็บเบราว์เซอร์ ไม่ใช่ทั้งเบราว์เซอร์)
pkill -f 'ไฟร์ฟอกซ์'
pkill -f 'ffmpeg'
pkill -f 'ส่วนของ_ของ_แอปของคุณ_ชื่อ_ที่นี่'
เปิดใช้งานโดยปุ่มลัด
เมื่อใช้คำสั่งดังกล่าวทีละคำสั่งจากเทอร์มินัล กระบวนการจะถูกหยุดทำงานและ pulseaudio จะทำงานต่อไป (แอปพลิเคชันอื่นๆ จะเล่นเสียงต่อไปตามปกติ)
เมื่อฉันใช้ SCRIPT เองเท่านั้นที่ดูเหมือนว่า Pulseaudio จะถูกฆ่าด้วย?
แก้ไข: ซึ่งส่งผลให้ OBS-Studio สูญเสียการเชื่อมต่อเสียง
มีวิธีแก้ปัญหานี้หรือไม่?
pkill หรือ kill -9 'ps aux | grep' ส่งผลให้เกิดพฤติกรรมเดียวกัน
การใช้คำสั่ง "เวลา" ให้ผลลัพธ์เหล่านี้:
เวลา pkill -f 'ส่วนสตริงของชื่อกระบวนการ'
เวลาในการทำงาน = 0.018 วินาที
\n
เวลา script.sh (เรียกใช้สคริปต์)
เวลาในการรัน = 0.262 วินาที (เวลาดำเนินการที่สูงกว่ามาก... ปัญหาเกี่ยวกับไวยากรณ์?)
นอกจากนี้ยังเป็นที่น่าสังเกตว่าคำสั่ง killall ใช้เวลาเพียง 0.006 วินาทีในการรันแทนที่จะเป็น 0.018 วินาทีของ pkill หรือ pgrep
โปรดทราบว่าปัญหานี้ไม่ได้เกิดขึ้นใน distro เวอร์ชันก่อนหน้า (pulsaudio เวอร์ชันเก่ากว่า 16.04 distro ซึ่งมีปัญหาอื่น แต่ไม่ใช่ปัญหานี้โดยเฉพาะ)