วิธีการฆ่ากระบวนการโดยใช้ Linux

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

ทุกครั้งโปรแกรมมักจะแขวนซึ่งในกรณีนี้คุณจะต้องมีวิธีการฆ่ามัน คุณอาจต้องการฆ่าโปรแกรมที่ทำงานในพื้นหลังที่คุณไม่จำเป็นต้องใช้อีกต่อไป

คู่มือนี้มีวิธีฆ่าโปรแกรมประยุกต์เดียวกันทั้งหมดที่ทำงานอยู่ในระบบของคุณ

วิธีการใช้คำสั่ง killall

คำสั่ง killall จะฆ่ากระบวนการทั้งหมดตามชื่อ นั่นหมายความว่าถ้าคุณมีโปรแกรมเดียวกันสามเวอร์ชันที่รันคำสั่ง killall จะฆ่าทั้งสาม

เช่นเปิดโปรแกรมขนาดเล็กเช่นโปรแกรมดูรูปภาพ ตอนนี้เปิดสำเนาอื่นของโปรแกรมดูรูปภาพเดียวกัน สำหรับตัวอย่างของฉันฉันได้เลือก Xviewer ซึ่งเป็นโคลนนิ่งของ Eye Of Gnome

ตอนนี้เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:

killall

ตัวอย่างเช่นเพื่อฆ่าอินสแตนซ์ทั้งหมดของ Xviewer พิมพ์ต่อไปนี้:

killall xviewer

ทั้งสองกรณีของโปรแกรมที่คุณเลือกที่จะฆ่าตอนนี้จะปิด

ฆ่ากระบวนการที่แน่นอน

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

เพื่อให้ได้รอบนี้คุณสามารถระบุสวิทช์ต่อไปนี้ซึ่งจะฆ่าไฟล์ที่ตรงกับชื่อที่แน่นอน

killall -e

ละเว้นกรณีเมื่อฆ่าโปรแกรม

เพื่อให้แน่ใจว่าคำสั่ง killall ละเว้นกรณีของชื่อโปรแกรมที่คุณให้ใช้คำสั่งต่อไปนี้:

killall -I
killall --ignore-case

ฆ่าโปรแกรมทั้งหมดในกลุ่มเดียวกัน

เมื่อคุณเรียกใช้คำสั่งเช่นคำสั่งต่อไปนี้จะสร้างกระบวนการสองแบบ:

ps -ef | น้อยกว่า

คำสั่งหนึ่งคำสำหรับส่วน ps -ef ที่แสดงรายการกระบวนการทำงานทั้งหมดในระบบของคุณและเอาต์พุตเป็น คำสั่งที่น้อยลง

โปรแกรมทั้งสองอยู่ในกลุ่มเดียวกันซึ่งเป็น bash

เมื่อต้องการฆ่าทั้งสองโปรแกรมพร้อมกันคุณสามารถเรียกใช้คำสั่งต่อไปนี้:

killall -g

ตัวอย่างเช่นการฆ่าคำสั่งทั้งหมดที่ทำงานในเปลือก bash ให้รันคำสั่งต่อไปนี้:

killall -gbash

อนึ่งรายการกลุ่มที่เรียกใช้ทั้งหมดเรียกใช้คำสั่งต่อไปนี้:

ps -g

รับการยืนยันก่อนที่จะฆ่าโปรแกรม

เห็นได้ชัดว่าคำสั่ง killall เป็นคำสั่งที่มีประสิทธิภาพมากและคุณไม่ต้องการฆ่ากระบวนการที่ไม่ถูกต้อง

ใช้สวิตช์ต่อไปนี้คุณจะถูกถามว่าคุณแน่ใจก่อนที่แต่ละกระบวนการจะถูกฆ่า

killall -i

ฆ่ากระบวนการที่ทำงานอยู่ในระยะเวลาหนึ่ง

ลองนึกภาพคุณได้รับการเรียกใช้โปรแกรมและใช้เวลามากเกินกว่าที่คุณหวังว่าจะ

คุณสามารถฆ่าคำสั่งในลักษณะต่อไปนี้:

killall -o h4

h ในคำสั่งดังกล่าวหมายถึงชั่วโมง

นอกจากนี้คุณสามารถระบุรายการใดรายการหนึ่งต่อไปนี้:

หรือถ้าคุณต้องการฆ่าคำสั่งที่เพิ่งเริ่มทำงานคุณสามารถใช้สวิตช์ต่อไปนี้:

killall -y h4

ขณะนี้คำสั่ง killall จะฆ่าโปรแกรมทั้งหมดที่รันอยู่ภายในเวลาไม่ถึง 4 ชั่วโมง

อย่าบอกฉันเมื่อกระบวนการไม่ได้ถูกฆ่า

โดยค่าเริ่มต้นถ้าคุณลองและฆ่าโปรแกรมที่ไม่ได้ทำงานคุณจะได้รับข้อผิดพลาดต่อไปนี้:

programname: ไม่พบกระบวนการ

ถ้าคุณไม่ต้องการที่จะบอกว่ากระบวนการไม่พบใช้คำสั่งต่อไปนี้:

killall -q

ใช้นิพจน์ทั่วไป

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

หากต้องการใช้นิพจน์ทั่วไปให้ใช้คำสั่งต่อไปนี้:

killall -r

ฆ่าโปรแกรมสำหรับระบุผู้ใช้

ถ้าคุณต้องการที่จะฆ่าโปรแกรมที่ถูกเรียกใช้โดยผู้ใช้เฉพาะคุณสามารถระบุคำสั่งต่อไปนี้:

killall -u

ถ้าคุณต้องการฆ่ากระบวนการทั้งหมดสำหรับผู้ใช้เฉพาะคุณสามารถละเว้นชื่อโปรแกรมได้

รอให้ killall เสร็จสิ้น

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

เมื่อต้องการทำเช่นนี้ให้เรียกใช้คำสั่งต่อไปนี้:

killall -w

หากโปรแกรมไม่ตายแล้ว killall จะยังคงอยู่ต่อไป

สัญญาณสัญญาณสัญญาณ

โดยค่าเริ่มต้นคำสั่ง killall จะส่งสัญญาณ SIGTERM ไปยังโปรแกรมต่างๆเพื่อให้ปิดและนี่เป็นวิธีที่สะอาดสำหรับการฆ่าโปรแกรม

มี แต่สัญญาณอื่น ๆ ที่คุณสามารถส่งโดยใช้คำสั่ง killall และคุณสามารถแสดงรายการได้โดยใช้คำสั่งต่อไปนี้:

killall -l

รายการที่ส่งคืนจะเป็นแบบนี้:

รายการนั้นยาวมาก หากต้องการอ่านว่าสัญญาณเหล่านี้หมายถึงอะไรให้ใช้คำสั่งต่อไปนี้:

มนุษย์ 7 สัญญาณ

โดยทั่วไปคุณควรใช้ตัวเลือก SIGTERM เริ่มต้น แต่ถ้าโปรแกรมปฏิเสธที่จะตายคุณสามารถใช้ SIGKILL ที่บังคับให้โปรแกรมเพื่อปิดแม้ว่าในทาง undignified

วิธีอื่น ๆ ในการฆ่าโปรแกรม

มี วิธีอื่น ๆ อีก 5 วิธีในการฆ่าแอพพลิเคชันลินุกซ์ ดังที่เน้นในคู่มือที่เชื่อมโยง

อย่างไรก็ตามเพื่อช่วยให้คุณประหยัดค่าใช้จ่ายในการคลิกที่ลิงค์ด้านล่างนี้คือส่วนที่แสดงว่าคำสั่งเหล่านี้คือเหตุผลที่คุณอาจใช้คำสั่งเหล่านั้นมากกว่า killall

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

เมื่อต้องการเรียกใช้คำสั่งฆ่าคุณต้องทราบรหัสกระบวนการของกระบวนการที่คุณต้องการจะฆ่า สำหรับ คำสั่ง ps คุณสามารถใช้ คำสั่ง ps ได้

ตัวอย่างเช่นเพื่อหา Firefox เวอร์ชันที่รันคุณสามารถเรียกใช้คำสั่งต่อไปนี้:

ps -ef | grep firefox

คุณจะเห็นบรรทัดของข้อมูลด้วยคำสั่ง / usr / lib / firefox / firefox ที่สิ้นสุด ในตอนเริ่มต้นบรรทัดคุณจะเห็น ID ผู้ใช้และหมายเลขหลังจาก ID ผู้ใช้เป็นรหัสกระบวนการ

ใช้รหัสกระบวนการที่คุณสามารถฆ่า Firefox โดยใช้คำสั่งต่อไปนี้:

ฆ่า -9

อีกวิธีหนึ่งในการฆ่าโปรแกรมคือใช้คำสั่ง xkill โดยปกติจะใช้เพื่อฆ่าโปรแกรมกราฟิกที่ไม่ทำงาน

เพื่อฆ่าโปรแกรมเช่น Firefox เปิด Terminal และเรียกใช้คำสั่งต่อไปนี้:

xkill

เคอร์เซอร์จะเปลี่ยนเป็นไม้กางเขนสีขาวขนาดใหญ่ เลื่อนเคอร์เซอร์ไปที่หน้าต่างที่คุณต้องการฆ่าและคลิกด้วยปุ่มซ้ายของเมาส์ โปรแกรมจะออกทันที

อีกวิธีหนึ่งในการฆ่ากระบวนการคือการใช้คำสั่งด้านบนของ Linux คำสั่งด้านบนแสดงกระบวนการทำงานทั้งหมดในระบบของคุณ

สิ่งที่คุณต้องทำเพื่อฆ่ากระบวนการคือกดปุ่ม "k" และป้อนรหัสกระบวนการของแอพพลิเคชันที่คุณต้องการจะฆ่า

ก่อนหน้าในส่วนนี้คำสั่ง kill และคุณจะต้องค้นหากระบวนการโดยใช้คำสั่ง ps แล้วฆ่ากระบวนการโดยใช้คำสั่ง kill

นี่ไม่ใช่ทางเลือกที่ง่ายที่สุด

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

pgrep firefox

ผลของคำสั่งดังกล่าวเป็นเพียง ID กระบวนการของ Firefox ขณะนี้คุณสามารถเรียกใช้คำสั่ง kill ดังนี้:

ฆ่า

(แทนที่ ด้วย ID กระบวนการที่เกิดขึ้นจริงโดย pgrep)

เป็นจริงได้ง่ายขึ้น แต่เพียงแค่ใส่ชื่อโปรแกรมเพื่อ pkill ดังนี้

pkill firefox

สุดท้ายคุณสามารถใช้เครื่องมือแบบกราฟิกเช่นเดียวกับ Ubuntu ที่เรียกว่า "System Monitor" เมื่อต้องการเรียกใช้ "System Monitor" ให้กดปุ่ม Super (คีย์ Windows บนคอมพิวเตอร์ส่วนใหญ่) และพิมพ์ "sysmon" ลงในแถบค้นหา เมื่อไอคอนการตรวจสอบระบบปรากฏขึ้นให้คลิกที่ไอคอน

จอภาพระบบจะแสดงรายการของกระบวนการ หากต้องการจบโปรแกรมด้วยวิธีที่สะอาดเลือกและกดปุ่มวางสายที่ด้านล่างของหน้าจอ (หรือกด CTRL และ E) ถ้าไม่สามารถทำงานคลิกขวาและเลือก "ฆ่า" หรือกด CTRL และ K ในกระบวนการที่คุณต้องการฆ่า