ฉันจะฆ่าจากการทุบตีกระบวนการหลามทั้งหมดโดยไม่รวมสคริปต์หลามได้อย่างไร (ฉันรู้ชื่อของมัน แต่บางครั้ง 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
ใช้คำสั่งกับผู้ใช้แต่ละคนPID
xargs
kill
PID