Cách thoát các chương trình bị đóng băng trong Linux

Ngay cả một hệ điều hành mạnh mẽ như Linux đôi khi cũng có thể gặp sự cố khiến ứng dụng hoặc chương trình bị đóng băng.

Có một số cách để loại bỏ hoặc thoát khỏi một chương trình bị đóng băng trên Linux . Bài viết này sẽ giải thích làm thế nào.

Sử dụng lệnh Kill(Use The Kill Command)

Trước khi bạn có thể sử dụng lệnh kill, hệ thống của bạn cần biết ID quy trình(Process ID) ( PID ) của chương trình không phản hồi.

PID là một số tự động xác định mỗi quá trình khi được tạo trên bất kỳ hệ điều hành Linux(Linux OS) nào . Một ưu điểm của phương pháp này là nó hoạt động trên tất cả các hệ thống Linux .

Tìm Quy trình & PID(Find The Process & PID)

Nếu bạn không biết quy trình nào bị đóng băng trên Linux , hai công cụ sẽ giúp bạn tìm quy trình: topps .

Trên cùng(Top) là màn hình hệ thống dựa trên dòng lệnh. Từ dòng lệnh, nhập như sau:

$ top

Ảnh chụp màn hình ở trên cho thấy rất nhiều thông tin. Ví dụ: giả sử Chrome là chương trình bị đóng băng trên máy tính của bạn.

Bạn có thể thấy rằng có bốn phiên bản Chrome đang chạy với các PID sau:

  • 3827
  • 3919
  • 10764
  • 11679

Để xác định phiên bản cụ thể của Chrome mà bạn muốn hủy, hãy sử dụng lệnh psgrep để lọc đầu ra.

Lệnh bên dưới sẽ hiển thị cho bạn các quy trình đang chạy được liên kết với Chrome :

ps aux | grep chrome

Giết quá trình(Kill The Process)

Bây giờ bạn có hai thông tin cần thiết để giết một quá trình bị đóng băng trên Linux : tên và ID của nó. Sử dụng các lệnh dưới đây:

  • kill – Hủy một quy trình bằng ID
  • killall – Giết một tiến trình theo tên

Có những tín hiệu khác mà bạn có thể gửi cho cả hai lệnh, tùy thuộc vào kết quả bạn muốn. 

Ví dụ: nếu bạn muốn loại bỏ quá trình không phản hồi và sau đó khởi động lại nó, bạn sẽ sử dụng tín hiệu HUP (gác máy).

Các tín hiệu tiêu diệt khác bao gồm:

  • SIGSTOP để dừng quá trình
  • SIGNINT để ngắt bàn phím
  • SIGKILL để tiêu diệt tín hiệu

Chúng tôi đã học được từ lệnh ps ở trên rằng PID(PIDs) cho các phiên bản của Chrome là 3827, 3919, 10764 và 11679.

Để gửi tín hiệu hủy(kill) , hãy chạy các lệnh sau để hủy(kill) thành công tất cả bốn phiên bản của Chrome :

  • giết -9 3827
  • giết -9 3919
  • giết -9 10764
  • giết -9 11679

Bạn cũng có thể sử dụng một lệnh bên dưới bằng cách sử dụng killall để gửi cùng một tín hiệu:

killall -9 chrome

Nhấp vào X(Click The X)

Các chương trình và ứng dụng không phản hồi thường có các nút hoặc tùy chọn màu xám không hoạt động. Đôi khi bạn thậm chí không thể di chuyển cửa sổ ứng dụng xung quanh màn hình.

Giải pháp đơn giản nhất là nhấp vào nút X ở góc trên cùng. Tùy thuộc vào hệ điều hành của bạn, nút có thể ở bên trái hoặc ở góc trên cùng bên phải.

Sau khi nhấp vào dấu X , bạn sẽ thấy một hộp thoại với hai tùy chọn: Chờ(Wait ) hoặc Buộc thoát(Force Quit) . Để kết thúc chương trình, hãy nhấp vào Buộc thoát(Force Quit) .

Diệt quy trình Linux trên Linux bằng Trình theo dõi hệ thống(Kill a Linux Process on Linux Using System Monitor)

Màn hình hệ thống(System) mặc định trong Ubuntu được gọi là Gnome . Nó cung cấp thông tin chi tiết về tất cả các quy trình chạy trên hệ điều hành Ubuntu Linux .

Người dùng có thể thực hiện các tác vụ khác nhau bằng Giao diện Người dùng Đồ họa(Graphical User Interface) ( GUI ), bao gồm Dừng(Stop) , Tiếp tục(Continue) và Diệt(Kill) .

Nếu hệ thống của bạn không bao gồm ứng dụng giám sát hệ thống Gnome , hãy cài đặt ứng dụng này bằng cách làm theo các bước bên dưới. Quá trình này hoạt động cho tất cả các phiên bản đang hoạt động của Ubuntu Linux cũng như Linux MintDebian .

  • Sử dụng phím tắt CTRL+ALT+T T. Sau đó, sử dụng lệnh bên dưới để tải xuống và cài đặt màn hình Hệ thống Gnome(Gnome System) .

sudo apt-get install gnome-system-monitor

  • Mở màn hình hệ thống bằng Command Terminal với các thao tác sau:

gnome-system-monitor

  • Hoặc, sử dụng GUI , điều hướng đến Ứng dụng(Applications) , nhập màn hình hệ thống(system monitor) vào hộp tìm kiếm và nhấp vào biểu tượng để mở.
  • Mở System Monitor của bạn , duyệt qua cột Processes để tìm chương trình không phản hồi hoặc bị đóng băng, chọn và nhấp chuột phải vào nó.

Bạn sẽ thấy một số tùy chọn, bao gồm:

  • Kết thúc Quy trình(End Process) để kết thúc ứng dụng trong khi dọn dẹp các tệp tạm thời.
  • Stop Process để tạm dừng quy trình cho phép bạn tiếp tục làm việc với nó sau này.
  • Kill Process là tùy chọn cao nhất trong số các tùy chọn và sẽ hoạt động để thoát khỏi một chương trình bị đóng băng nếu cố gắng kết thúc nó không hiệu quả

Sử dụng Lệnh xkill(Use The xkill Command)

Xkill là một tiện ích diệt Ubuntu(Ubuntu) được cài đặt sẵn mà bạn có thể sử dụng để buộc diệt một tiến trình Linux không phản hồi . Nó là một công cụ được cài đặt sẵn trong Ubuntu .

Bạn cũng có thể cài đặt nó thông qua Terminal trên các bản phân phối khác bằng cách sử dụng lệnh sau:

sudo apt cài đặt xorg-xkill(sudo apt install xorg-xkill)

Sau đó, chạy nó bằng cách gõ xkill . Con chuột của bạn sẽ biến thành một hộp sọ hoặc một dấu x . Nhấp chuột trái vào chương trình đã đóng băng để đóng nó.

Sử dụng pgrep & pkill(Use pgrep & pkill)

Một số hệ thống Linux cung cấp các phím tắt gọi là pkillpgrep để thực hiện các tác vụ tương tự như killps đã thảo luận ở trên.

Pgrep sẽ hiển thị tên và ID của tiến trình. Ví dụ: chạy pgrep chrome để xem ID tiến trình của tiến trình Chrome đang chạy . Sau đó, bạn có thể sử dụng ID đó với lệnh kill.

pkill 7012

Hoặc, bạn có thể bỏ qua bước này và sử dụng lệnh bên dưới để loại bỏ tất cả các phiên bản của Chrome :

pkill chrome

Giải pháp này hoạt động tốt nếu bạn chỉ có một phiên bản ứng dụng đang chạy. Tuy nhiên, nếu bạn có một số cửa sổ đang mở của cùng một chương trình và chỉ muốn giết một cửa sổ, hãy sử dụng XKill để thay thế.

Khi một chương trình bị treo, khởi động lại hệ thống của bạn không phải lúc nào cũng là lựa chọn thuận tiện nhất. Điều này đặc biệt đúng nếu bạn đang thực hiện nhiều dự án cùng lúc và chưa lưu công việc của mình.

Hãy thử một trong các tùy chọn ở trên để thay thế dễ dàng và nhanh chóng thoát khỏi các chương trình bị đóng băng hoặc không phản hồi trên Linux một cách an toàn.