ฆ่ากระบวนการทั้งหมดที่เป็นของผู้ใช้ด้วย pkill

สารบัญ:

Anonim

Activity Monitor และเครื่องมือบรรทัดคำสั่ง 'kill' แบบเดิมสามารถจัดการกับความต้องการยุติกระบวนการส่วนใหญ่ได้ แต่หากคุณเคยจำเป็นต้องกำหนดเป้าหมายและฆ่ากระบวนการทั้งหมดที่เป็นของบัญชีผู้ใช้เดียว คุณคงทราบดี อาจเป็นงานที่น่าผิดหวัง แม้ว่าตัวตรวจสอบกิจกรรมจะอนุญาตให้คุณจัดเรียง "กระบวนการของผู้ใช้อื่น" และเลือกหลายกระบวนการได้ แต่ไม่อนุญาตให้คุณยุติหลายกระบวนการพร้อมกันในทำนองเดียวกัน คำสั่ง kill แบบมาตรฐานและคำสั่ง killall โดยทั่วไปมุ่งเป้าไปที่กระบวนการเฉพาะ ไม่ใช่ทุกงานที่เป็นของบัญชีผู้ใช้เฉพาะ นี่คือที่มาของคำสั่ง 'pkill' ซึ่งทำให้ง่ายต่อการฆ่าทุก ๆ กระบวนการที่เป็นของผู้ใช้ใด ๆ ผ่านทางเทอร์มินัลทันที

วิธีฆ่ากระบวนการทั้งหมดจากผู้ใช้ด้วย pkill

ไวยากรณ์พื้นฐานสำหรับการใช้ pkill เพื่อฆ่ากระบวนการของผู้ใช้ทั้งหมดมีดังนี้:

pkill -u username

ตรวจสอบว่ากระบวนการทั้งหมดที่เป็นของผู้ใช้นั้นถูกยกเลิกโดยใช้แฟล็ก -u บนคำสั่ง ps:

ps -u username

สมมติว่าทุกอย่างเป็นไปตามที่ตั้งใจไว้ ก็จะพบรายการว่างแจ้งกลับมา

pkill ไม่คำนึงถึงขนาดตัวพิมพ์ หมายความว่าชื่อผู้ใช้ของ “TestUser” จะถูกระบุเหมือนกับ “testuser”

หากคุณจะลองใช้วิธีนี้ด้วยตัวเอง จะเป็นการดีที่สุดหากใช้การสลับผู้ใช้อย่างรวดเร็วเพื่อเริ่มต้นการเข้าสู่ระบบใหม่ด้วยบัญชีผู้ใช้อื่น หรือใช้เซิร์ฟเวอร์ ssh และดำเนินการกับบัญชีอื่น Mac ท้องถิ่น การใช้ pkill กับชื่อผู้ใช้ที่ใช้งานอยู่ของคุณจะทำให้กระบวนการทั้งหมดยุติลง ซึ่งบางกระบวนการรีเฟรชทันที แต่กระบวนการเบื้องหลังจำนวนมากจะไม่เริ่มต้นใหม่โดยอัตโนมัติ สิ่งนี้นำไปสู่พฤติกรรมที่แปลกประหลาดทุกประเภท และขึ้นอยู่กับสิ่งที่คุณใช้งานอยู่ ไม่ต้องแปลกใจอย่างยิ่งที่พบว่า OS ใช้งานไม่ได้มากจนคุณต้องออกจากระบบและลงชื่อเข้าใช้ใหม่อีกครั้ง หรือแม้แต่รีบูตหากผู้ใช้ที่ใช้งานอยู่ บัญชีที่ pkill กำหนดเป้าหมายเป็นทั้งระดับรูทหรือระดับผู้ดูแลระบบ

คำสั่ง pkill เป็นคำสั่งที่ค่อนข้างยุ่งยากเมื่อชี้ไปที่ชื่อผู้ใช้ และอาจถือเป็นวิธีการบังคับออกจากทุกสิ่งที่เป็นของผู้ใช้ที่เข้าสู่ระบบเป็นหลัก แต่นั่นก็ทำให้มีประสิทธิภาพมากเช่นกัน เครื่องมือสำหรับการแก้ไขปัญหาและเมื่อต้องจัดการกับกระบวนการที่เสียหรือซอมบี้ที่ยังคงอยู่แม้ว่าผู้ใช้จะออกจากระบบก็ตาม

เราได้กล่าวถึงคำสั่ง pkill ก่อนหน้าที่จะฆ่ากระบวนการด้วยสัญลักษณ์แทนและแอป/กระบวนการเฉพาะที่เป็นของผู้ใช้คนเดียว และแม้ว่าจะเป็นส่วนเสริมล่าสุดของ Mac ตั้งแต่ Mac OS จาก Mac OS X Mountain Lion ต่อไปมันอยู่ในโลกของ Linux มาระยะหนึ่งแล้ว

ฆ่ากระบวนการทั้งหมดที่เป็นของผู้ใช้ด้วย pkill