ค้นหาเว็บไซต์

วิธีค้นหาและฆ่ากระบวนการทำงานใน Linux


การจัดการกระบวนการถือเป็นส่วนสำคัญของการดูแลระบบใน Linux และรวมถึงการฆ่ากระบวนการโดยใช้คำสั่ง kill

ในวิธีการนี้ เราจะดูการฆ่ากระบวนการที่มีประสิทธิผลน้อยลงหรือไม่พึงประสงค์บนระบบ Linux ของคุณ

กระบวนการใน Linux คืออะไร?

กระบวนการบนระบบ Linux อาจเป็นเหตุการณ์ที่รันอยู่ของแอปพลิเคชันหรือโปรแกรม คุณยังสามารถอ้างถึงกระบวนการต่างๆ ว่าเป็นงานที่ดำเนินการในระบบปฏิบัติการ

เมื่อกระบวนการกำลังทำงาน กระบวนการจะเปลี่ยนจากสถานะหนึ่งไปอีกสถานะหนึ่ง และกระบวนการสามารถอยู่ในสถานะใดสถานะหนึ่งต่อไปนี้:

  1. กำลังดำเนินการ: หมายถึงกระบวนการกำลังดำเนินการหรือเพิ่งตั้งค่าให้ดำเนินการ
  2. กำลังรอ: หมายความว่ากระบวนการกำลังรอเหตุการณ์หรือทรัพยากรระบบเพื่อดำเนินงาน

กระบวนการรอภายใต้ Linux มีสองประเภท ได้แก่ แบบขัดจังหวะ และ แบบขัดจังหวะ

กระบวนการรอที่สัญญาณสามารถขัดจังหวะได้เรียกว่า อินเทอร์รัปต์ ในขณะที่กระบวนการรอที่รอโดยตรงบนสภาพของฮาร์ดแวร์และไม่สามารถถูกขัดจังหวะได้ภายใต้เงื่อนไขใดๆ เรียกว่า อินเทอร์รัปต์

  1. หยุด: หมายความว่ากระบวนการหยุดแล้วโดยใช้สัญญาณ
  2. ซอมบี้: หมายถึงกระบวนการหยุดกะทันหันและตายไปแล้ว

ด้วยภาพรวมโดยย่อนี้ เราจะมาดูวิธีการฆ่ากระบวนการในระบบ Linux กัน เราได้กล่าวถึงบทความบางส่วนเกี่ยวกับวิธีการฆ่า Linux ที่รันกระบวนการของเราโดยใช้ kill, pkill, killall และ xkill คุณสามารถอ่านได้ด้านล่าง

  1. คำแนะนำในการจัดการกระบวนการ Linux โดยใช้คำสั่ง Kill, Pkill และ Killall
  2. วิธีฆ่ากระบวนการ Linux ที่ไม่ตอบสนองโดยใช้คำสั่ง Xkill

เมื่อฆ่ากระบวนการ คำสั่ง kill ใช้เพื่อส่งสัญญาณที่มีชื่อไปยังกระบวนการที่มีชื่อหรือกลุ่มของกระบวนการ สัญญาณเริ่มต้นคือสัญญาณ TERM

โปรดจำไว้ว่าคำสั่ง kill อาจเป็นฟังก์ชันในตัวในเชลล์สมัยใหม่จำนวนมากหรือภายนอกที่อยู่ที่ /bin/kill

วิธีค้นหากระบวนการ PID ใน Linux

ใน Linux ทุกกระบวนการในระบบจะมี PID (หมายเลขประจำตัวกระบวนการ) ซึ่งสามารถใช้เพื่อปิดกระบวนการได้

คุณสามารถระบุ PID ของกระบวนการใดๆ ได้โดยใช้คำสั่ง pidof ดังนี้:

pidof firefox
pidof chrome
pidof gimp-2.8

วิธีฆ่ากระบวนการใน Linux

เมื่อคุณพบกระบวนการ PID แล้ว เรามาดูวิธีการฆ่ากระบวนการกันดีกว่า ในตัวอย่างแรกนี้ ฉันจะรับ PID ของกระบวนการก่อนแล้วจึงส่งสัญญาณไป

ฉันต้องการฆ่ากระบวนการ gimp ดังนั้นฉันจะทำดังนี้:

pidof gimp-2.8
kill 9378

หากต้องการตรวจสอบว่ากระบวนการถูกหยุดทำงาน ให้รันคำสั่ง pidof และคุณจะไม่สามารถดู PID ได้

pidof gimp-2.8

คุณยังสามารถส่งสัญญาณที่มีชื่อไปยังกระบวนการได้โดยใช้ชื่อสัญญาณหรือหมายเลขดังต่อไปนี้:

pidof vlc
kill -SIGTERM 9541
pidof vlc

การใช้หมายเลขสัญญาณเพื่อฆ่ากระบวนการ:

pidof banshee
kill -9 9647
pidof banshee

ในตัวอย่างข้างต้น หมายเลข 9 คือหมายเลขสัญญาณสำหรับสัญญาณ SIGKILL

วิธีฆ่า PID หลายกระบวนการใน Linux

หากต้องการฆ่ามากกว่าหนึ่งกระบวนการ ให้ส่ง PID(s) ไปยังคำสั่ง kill ดังนี้:

pidof gimp-2.8
pidof vlc
pidof banshee
kill -9 9734 9747 9762

สรุป

มีวิธีอื่นๆ มากมายในการฆ่ากระบวนการใน Linux ตัวอย่างเล็กๆ น้อยๆ เหล่านี้จะช่วยให้คุณเห็นภาพรวมของกระบวนการฆ่าได้ โปรดแจ้งให้เราทราบว่าคุณฆ่ากระบวนการใน Linux อย่างไร และบอกวิธีอื่น ๆ ถ้ามีทางความคิดเห็น