วิธีฆ่าแอปพลิเคชันเดสก์ท็อปหรือกระบวนการพื้นหลังบน Linux
Windows มี Ctrl + Alt + Delete และ Macs มี Command + Option + Escape เพื่อบังคับให้แอปพลิเคชันหยุดทำงาน Linux มีวิธีของตนเองในการ“ ฆ่า” กระบวนการที่ทำงานผิดพลาดเหล่านั้นไม่ว่าจะเป็นหน้าต่างแบบกราฟิกหรือกระบวนการพื้นหลัง.
เครื่องมือกราฟิกที่แน่นอนที่คุณสามารถใช้ได้จะขึ้นอยู่กับสภาพแวดล้อมเดสก์ทอปของคุณเนื่องจากสภาพแวดล้อมเดสก์ทอปแต่ละอันจะนำเครื่องมือต่าง ๆ มาไว้ในตาราง แต่ส่วนใหญ่คล้ายกันมาก.
จากเดสก์ทอปแบบกราฟิก
เดสก์ท็อป Linux สมัยใหม่จัดการกับสิ่งนี้ได้ค่อนข้างดีและมันสามารถเป็นไปโดยอัตโนมัติอย่างน่าประหลาดใจ หากแอปพลิเคชันไม่ตอบสนองเดสก์ท็อปที่มีตัวจัดการการแต่งเพลงมักจะเป็นสีเทาทั้งหน้าต่างเพื่อแสดงว่าไม่ได้ตอบสนอง.
คลิกปุ่ม X บนแถบหัวเรื่องหน้าต่างและตัวจัดการหน้าต่างมักจะแจ้งให้คุณทราบว่าหน้าต่างไม่ตอบสนอง คุณสามารถให้เวลาตอบหรือคลิกตัวเลือกเช่น "ออกจากกองทัพ" เพื่อปิดแอปพลิเคชัน.
บน Linux ตัวจัดการหน้าต่างที่วาดแถบหัวเรื่องจะแยกจากแอปพลิเคชันเองดังนั้นจึงมักตอบสนองแม้ว่าหน้าต่างจะไม่ปรากฏก็ตาม หน้าต่างบางบานจะทาสีอินเตอร์เฟสของตัวเองดังนั้นอาจไม่ได้ผลเสมอไป.
แอปพลิเคชั่น“ xkill” สามารถช่วยคุณฆ่าหน้าต่างกราฟิกใด ๆ บนเดสก์ท็อปของคุณได้อย่างรวดเร็ว.
คุณอาจสามารถเปิดใช้งานทางลัดนี้โดยกด Ctrl + Alt + Esc ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อมเดสก์ท็อปของคุณและการกำหนดค่า คุณสามารถเรียกใช้คำสั่ง xkill - คุณสามารถเปิดหน้าต่างเทอร์มินัลพิมพ์ xkill โดยไม่ต้องใส่เครื่องหมายคำพูดและกด Enter หรือคุณสามารถกดทางลัดเช่น Alt + F2 ซึ่งเปิดกล่องโต้ตอบ“ Run Command” บนเดสก์ท็อป Unity ของ Ubuntu และอื่น ๆ อีกมากมาย ชนิด xkill ในกล่องโต้ตอบและกด Enter.
เคอร์เซอร์ของคุณจะเปลี่ยนเป็น X คลิกที่หน้าต่างและยูทิลิตี xkill จะกำหนดว่ากระบวนการใดที่เกี่ยวข้องกับหน้าต่างนั้นและจากนั้นจะฆ่ากระบวนการนั้นทันที หน้าต่างจะหายไปและปิดทันที.
เดสก์ท็อป Linux ของคุณอาจมีเครื่องมือที่ทำงานคล้ายกับตัวจัดการงานบน Windows เช่นกัน บนเดสก์ท็อป Unity ของ Ubuntu GNOME และเดสก์ท็อปที่ใช้ GNOME อื่น ๆ นี่คือโปรแกรมอรรถประโยชน์การตรวจสอบระบบ เปิดยูทิลิตีการตรวจสอบระบบเพื่อดูรายการโพรเซสที่กำลังรันรวมถึงแบ็คกราวน์เบื้องหลัง นอกจากนี้คุณยังสามารถบังคับกระบวนการฆ่าได้จากที่นี่หากพวกเขาทำงานผิดปกติ.
จากเทอร์มินัล
สมมติว่าคุณต้องการทำสิ่งนี้ทั้งหมดจากเทอร์มินัลแทน เราครอบคลุมยูทิลิตี้มากมายที่คุณสามารถใช้สำหรับสิ่งนี้เมื่อเราดูคำสั่งสำหรับการจัดการกระบวนการบน Linux.
สมมติว่า Firefox กำลังทำงานในพื้นหลังและเราต้องการที่จะฆ่ามันจาก terminal คำสั่ง kill มาตรฐานใช้หมายเลขรหัสกระบวนการดังนั้นคุณจะต้องค้นหาก่อน.
ตัวอย่างเช่นคุณสามารถเรียกใช้คำสั่งเช่น:
ps aux | grep firefox
ซึ่งจะแสดงรายการกระบวนการและไพพ์ทั้งหมดที่แสดงรายการคำสั่ง grep ซึ่งจะกรองและพิมพ์เฉพาะบรรทัดที่มี Firefox (บรรทัดที่สองที่คุณเห็นคือกระบวนการ grep เอง) นอกจากนี้คุณยังสามารถรับรหัสกระบวนการจากคำสั่งด้านบนและที่อื่น ๆ อีกมากมาย.
ใช้หมายเลข ID กระบวนการจากกระบวนการ Firefox - ทางด้านขวาของชื่อผู้ใช้ - และระบุรหัสคำสั่ง kill นั่นคือเรียกใช้คำสั่งดังนี้:
ฆ่า ####
หากกระบวนการทำงานในฐานะผู้ใช้รายอื่นคุณจะต้องเป็นผู้ใช้รูทก่อน - หรืออย่างน้อยให้รันคำสั่ง kill ด้วยคำสั่ง sudo ดังนี้:
sudo kill ####
นั่นเป็นวิธีพื้นฐาน แต่ก็ไม่เร็วเท่าไหร่ คำสั่ง pgrep และ pkill ช่วยปรับปรุงเรื่องนี้ ตัวอย่างเช่นเรียกใช้“ pgrep firefox” เพื่อดู ID กระบวนการของกระบวนการ Firefox ที่ทำงานอยู่ จากนั้นคุณสามารถป้อนหมายเลขนั้นไปยังคำสั่ง kill.
หรือข้ามสิ่งนั้นและรัน“ pkill firefox” เพื่อฆ่ากระบวนการ Firefox โดยไม่ทราบจำนวน pkill ทำการจับคู่รูปแบบพื้นฐานบางอย่าง - มันจะพยายามค้นหากระบวนการที่มีชื่อที่มี firefox.
คำสั่ง killall เหมือน pkill แต่แม่นยำกว่าเล็กน้อย มันจะฆ่ากระบวนการที่กำลังทำงานทั้งหมดด้วยชื่อเฉพาะ ดังนั้นการเรียกใช้ "killall firefox" จะฆ่ากระบวนการทำงานทั้งหมดที่มีชื่อว่า "firefox" แต่ไม่ใช่กระบวนการใด ๆ ที่เพิ่งมี firefox ในชื่อของพวกเขา.
สิ่งเหล่านี้อยู่ไกลจากคำสั่งเดียวที่มีอยู่ใน Linux สำหรับการจัดการกระบวนการ หากคุณใช้ซอฟต์แวร์การดูแลเซิร์ฟเวอร์บางประเภทอาจเป็นวิธีที่มีประโยชน์ในการฆ่าและรีสตาร์ทกระบวนการ.
บริการระบบทำงานแตกต่างจากกระบวนการ - คุณจะต้องใช้คำสั่งเฉพาะเพื่อดึงลงเริ่มต้นใหม่หรือนำบริการขึ้นมา คำสั่งเฉพาะเหล่านั้นอาจแตกต่างกันในการกระจาย Linux ที่แตกต่างกัน.
เครดิตภาพ: Lee on Flickr