Xử lý các chương trình không phản hồi có thể là một công việc khó khăn, đặc biệt nếu bạn đang chạy trên phần cứng cũ. Rất may là có rất nhiều cách để loại bỏ các quy trình không phản hồi trong Linux.
Các lệnh kill và pkill cung cấp các giải pháp đơn giản nhưng hiệu quả để chấm dứt các quá trình không phản hồi từ terminal. Bài viết dưới đây mô tả cách chấm dứt các tiến trình bị treo trong Linux bằng cách sử dụng kill và pkill.
1. Chấm dứt các quá trình không phản hồi bằng cách sử dụng kill
Lệnh kill trong Linux cho phép bạn thoát khỏi các quá trình không phản hồi một cách dễ dàng. Nó gửi một tín hiệu kết thúc đến quá trình đó. Theo mặc định, kill gửi tín hiệu SIGTERM, được biểu thị bằng tín hiệu số 15 . Ví dụ sau sử dụng lệnh kill để đóng quá trình có PID là 27065.
kill 27065
Người dùng có thể gửi các tín hiệu khác bằng cách chỉ định tên hoặc số tín hiệu. Ví dụ: các lệnh kill dưới đây dừng một quá trình bị treo bằng cách sử dụng tín hiệu hệ thống SIGKILL, được biểu thị bằng tín hiệu số 9 .
kill -9 27065
kill -SIGKILL 27065
Sự khác biệt giữa SIGTERM và SIGKILL là các quá trình có thể nhận và bỏ qua tín hiệu SIGTERM. Tuy nhiên, SIGKILL đóng các chương trình ngay lập tức.
Bạn có thể xem danh sách tất cả các tín hiệu có sẵn bằng cách sử dụng các lệnh kill bên dưới.
kill -l
kill -L
Nhìn chung, SIGKILL sẽ phù hợp hơn khi xử lý các quy trình hệ thống không phản hồi. Mặt khác, SIGTERM là lựa chọn tốt hơn nếu bạn muốn chấm dứt các chương trình bị treo một cách suôn sẻ.
>>> Đọc ngay: Cách cài đặt và cấu hình Tmux cho Linux
2. Đóng các quy trình không phản hồi bằng pkill
Lệnh pkill làm cho quá trình kết thúc trong Linux dễ dàng hơn bằng cách cho phép chúng ta đóng các chương trình dựa trên tên của chúng. Ví dụ: lệnh dưới đây đóng chương trình nano bằng cách sử dụng pkill.
pkill nano
Giống như kill, pkill cũng gửi tín hiệu SIGTERM theo mặc định. Sử dụng tín hiệu SIGKILL nếu bạn muốn dừng quá trình không phản hồi ngay lập tức.
pkill -9 nano
3. Cách lấy ID (PID) của một quy trình
Có thông tin PID (Viết tắt của Process ID, hay ID quy trình) có thể giúp ích rất nhiều khi chấm dứt các quy trình không phản hồi trong Linux. Bạn có thể lấy số PID của một quy trình theo một số cách. Lệnh sau lấy PID của một quá trình có tên là nano bằng cách sử dụng lệnh grep và ps.
ps aux | grep nano
Bạn cũng có thể sử dụng lệnh pgrep, lệnh này sẽ xuất trực tiếp PID.
pgrep nano
>>> Đọc ngay: Cách cập nhật tất cả ứng dụng trên Linux trong vài giây
4. Xử lý quy trình không phản hồi trên Linux
Các lệnh kill và pkill giúp cho việc xử lý các quy trình không phản hồi trong Linux trở nên dễ dàng. Tất cả những gì bạn cần để ngăn quá trình bị treo là PID của nó và quyền truy cập vào một shell. Tuy nhiên, bạn có thể cần thêm quyền sudo khi hủy các quy trình thuộc về người dùng khác. Vì vậy, nếu bạn đang sử dụng hệ thống nhiều người dùng, hãy yêu cầu quản trị viên thêm bạn vào danh sách sudoers trước khi bạn thực hiện bất kỳ hành động nào.
>>> Nếu bạn đang có nhu cầu học lập trình trực tuyến, tìm hiểu ngay tại đây:
>>> Xem thêm bài viết:
7 mẹo để tùy chỉnh màn hình Cinnamon trong Linux
Arch Linux là gì? Ai nên sử dụng Arch Linux?
Bảng điều khiển ảo Linux là gì? Bảng điều khiển ảo Linux để làm gì?
Cách sử dụng Timeshift để sao lưu và khôi phục hệ thống Linux
Dịch từ: https://www.makeuseof.com/terminate-unresponsive-processes-in-linux-with-kill-and-pkill/
Vân Nguyễn
Bình luận (0
)