Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธี Quit โปรแกรมค้าง (Frozen) ใน Linux

แม้ OS แข็งแกร่งอย่าง Linux ก็บางครั้งเจอปัญหาทำให้ apps หรือ programs ค้าง (freeze)

มีหลายวิธี kill หรือ quit โปรแกรมค้างบน Linux บทความนี้อธิบายวิธีการ

ใช้คำสั่ง Kill

ก่อนใช้ kill command ระบบต้องรู้ Process ID (PID) ของ unresponsive program

PID คือหมายเลขระบุ process แต่ละตัวอัตโนมัติตอนสร้างบน Linux OS ใดๆ ข้อดี: ทำงานบน Linux systems ทุกตัว

หา Process & PID

ถ้าไม่รู้ว่าประมวลผลไหนค้างบน Linux มี 2 tools ช่วยหา: top และ ps

Top คือ command line-based system monitor จาก command line พิมพ์:

$ top

Screenshot ด้านบนแสดง info เยอะ ตัวอย่าง Chrome เป็น frozen program

เห็น 4 instances ของ Chrome รันอยู่ PIDs:

  • 3827
  • 3919
  • 10764
  • 11679

ระบุ instance Chrome ที่อยาก kill ใช้ ps command และ grep filter output

คำสั่งด้านล่างแสดง running processes ที่เกี่ยวกับ Chrome:

ps aux | grep chrome

Kill The Process

ตอนนี้มี 2 ชิ้นข้อมูล kill frozen process บน Linux: name และ ID ใช้คำสั่ง:

  • kill – Kill process by ID
  • killall – Kill process by name

มี signals อื่นส่งให้ทั้งคู่ ขึ้นกับ results ที่อยากได้

ตัวอย่าง: อยาก kill unresponsive process และ restart ใช้ HUP (hang up) signal

Kill signals อื่นๆ:

  • SIGSTOP stop the process
  • SIGNINT interrupt the keyboard
  • SIGKILL kill the signal

จาก ps command ข้างบน PIDs ของ Chrome instances: 3827, 3919, 10764, 11679

ส่ง kill signal รันคำสั่ง kill ทั้ง 4 instances Chrome สำเร็จ:

  • kill -9 3827
  • kill -9 3919
  • kill -9 10764
  • kill -9 11679

หรือ single command ด้วย killall ส่ง signal เดียวกัน:

killall -9 chrome

คลิก X

Unresponsive programs และ apps มักมี grayed-out buttons หรือ options ที่ไม่ทำงาน บางครั้งย้าย app window ไม่ได้

Easiest solution: คลิก X button มุมบน ขึ้นกับ OS ปุ่มอาจซ้ายหรือขวาบน

หลังคลิก X จะเห็น dialog box 2 options: Wait หรือ Force Quit จบโปรแกรม คลิก Force Quit

Kill Linux Process บน Linux ด้วย System Monitor

Default System monitor ใน Ubuntu เรียกว่า Gnome ให้ insights ทุก processes รันบน Ubuntu Linux OS

Users ทำ tasks ต่างๆ ด้วย Graphical User Interface (GUI) รวม: Stop, Continue, และ Kill

ถ้าระบบไม่มี Gnome system monitor app ติดตั้งตามขั้นตอน ทำงานได้กับ active versions ของ Ubuntu Linux, Linux Mint และ Debian

  • ใช้ Terminal keyboard shortcut CTRL+ALT+T คำสั่ง download และ install Gnome System monitor:

sudo apt-get install gnome-system-monitor

  • Open system monitor ด้วย Command Terminal:

gnome-system-monitor

  • หรือ GUI: ไป Applications พิมพ์ system monitor ใน search box คลิก icon เปิด
  • Open System Monitor, browse Processes column หา unresponsive/frozen program select และ right-click

จะเห็น options:

  • End Process terminate application พร้อม clean temporary files
  • Stop Process pause process ให้ continue working later
  • Kill Process extreme option จะ quit frozen program ถ้า end ไม่ได้

ใช้คำสั่ง xkill

Xkill เป็น pre-installed Ubuntu kill utility force kill unresponsive Linux process Tool มา pre-installed ใน Ubuntu

ติดตั้งผ่าน Terminal บน distributions อื่น:

sudo apt install xorg-xkill

รันพิมพ์ xkill เมาส์จะกลายเป็น skull หรือ x Left-click บน frozen program ปิดมัน

ใช้ pgrep & pkill

Linux systems หลายตัวมี shortcuts pkill และ pgrep ทำ tasks เหมือน kill และ ps ข้างบน

Pgrep แสดง process name และ ID ตัวอย่าง pgrep chrome ดู process ID ของ Chrome ที่รัน ใช้ ID นั้นกับ kill command

pkill 7012

หรือ skip step นี้ คำสั่ง kill all instances of Chrome:

pkill chrome

Solution นี้ดีถ้ามีเพียงหนึ่ง instance ของ application รัน แตถ้ามี several windows ของ program เดียวกัน อยาก kill แค่ตัวเดียว ใช้ XKill แทน

ตอนโปรแกรมค้าง restart system ไม่ใช่ most convenient option เสมอไป โดยเฉพาะถ้าทำงานหลาย projects พร้อมกัน และยังไม่ save work

ลอง options ด้านบน alternative ที่ easily และ quickly exit frozen หรือ non-responsive programs บน Linux อย่างปลอดภัย