ฉันจะฆ่าจากการทุบตีกระบวนการหลามทั้งหมดโดยไม่รวมสคริปต์หลามได้อย่างไร (ฉันรู้ชื่อของมัน แต่บางครั้ง pid สามารถเปลี่ยนได้)
ฉันต้องการชนิดpkill -f "python"แต่ไม่รวมสคริปต์เฉพาะของไพ ธ อน
กรุณาแนะนำ
ฉันจะฆ่าจากการทุบตีกระบวนการหลามทั้งหมดโดยไม่รวมสคริปต์หลามได้อย่างไร (ฉันรู้ชื่อของมัน แต่บางครั้ง pid สามารถเปลี่ยนได้)
ฉันต้องการชนิดpkill -f "python"แต่ไม่รวมสคริปต์เฉพาะของไพ ธ อน
กรุณาแนะนำ
คำตอบ:
ps aux |grep python |grep -v 'pattern_of_process_you_dont_want_to_kill' |awk '{print $2}' |xargs kill
ปรับปรุง: คำอธิบายทีละขั้นตอนตามที่ร้องขอในความคิดเห็น
ps aux |grep python- แสดงกระบวนการทั้งหมดซึ่งเป็นpythonรูปแบบการ จับคู่grep -v 'pattern_of_process_you_dont_want_to_kill' - ยกเว้นกระบวนการที่คุณไม่ต้องการฆ่า awk '{print $2}' - แสดงฟิลด์เอาต์พุตที่สองเป็น PID xargs kill- ใช้killคำสั่งกับแต่ละอินพุต ARG (PID)หากคุณไม่คุ้นเคยกับxargsคำสั่งฉันขอแนะนำให้คุณไม่ต้องกังวลหากคุณไม่เข้าใจในทันที มันอาจดูค่อนข้างยุ่งยากเป็นครั้งแรก ฉันโพสต์ตัวอย่างการใช้งานที่ง่ายมากคุณอาจ google ได้มากกว่านี้
awk '{print $2}' - พิมพ์ฟิลด์ที่สองของการส่งออกในกรณีที่มันเป็นปัจจุบันps ใช้คำสั่งกับผู้ใช้แต่ละคนPIDxargskillPID