Cách giết/huỷ một tiến trình trên máy Mac

Tác giả sysadmin, T.Hai 18, 2023, 12:23:06 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách giết/huỷ một tiến trình trên máy Mac


Mở Trình giám sát hoạt động và tìm quy trình bạn muốn hủy bằng cách sắp xếp theo mức sử dụng tài nguyên hoặc theo ID quy trình. Sau đó nhấp vào nút X ở đầu Trình giám sát hoạt động và chọn "Thoát" hoặc "Buộc thoát" để hủy quy trình.


Ứng dụng hoặc quy trình có gây ra sự cố trên máy Mac của bạn không? Loại bỏ ứng dụng có vấn đề bằng cách tắt nó bằng Activity Monitor hoặc Terminal. Bạn cũng có thể tìm và hủy các tiến trình đang sử dụng các cổng cụ thể trên máy Mac của mình.

1. Cách giết/huỷ quy trình Mac bằng Trình giám sát hoạt động

Cách dễ nhất để tìm và tắt một tiến trình gây ra sự cố trong macOS là khởi chạy Trình giám sát hoạt động. Bạn có thể thực hiện việc này bằng Spotlight (nhấn Command + Phím cách, sau đó bắt đầu nhập "hoạt động" và nhấn Enter khi bạn nhìn thấy ứng dụng) hoặc bằng cách tìm và khởi chạy ứng dụng trong thư mục Ứng dụng > Tiện ích.


Activity Monitor có một số dạng xem mà bạn có thể sử dụng để tách biệt các vấn đề. Trên tab CPU, bạn có thể xem ứng dụng nào đang sử dụng nhiều năng lượng xử lý nhất hiện tại (sắp xếp theo tab "% CPU" để xem các tiến trình ngốn nhiều nhất. Bạn cũng có thể sử dụng "Memory" để sắp xếp theo mức sử dụng RAM, "Energy" để sắp xếp tìm ứng dụng nào đang sử dụng nhiều năng lượng nhất, "Đĩa" để sắp xếp theo mức sử dụng ổ đĩa và "Mạng" để sắp xếp theo dữ liệu được gửi và nhận.

Trên hết, bạn có thể sử dụng hộp "Tìm kiếm" ở góc trên cùng bên phải để tìm kiếm tên quy trình. Bạn có thể tìm thấy quy trình cốt lõi và các quy trình được liên kết theo cách này, ví dụ: tìm kiếm Safari sẽ tìm thấy ứng dụng cốt lõi, quy trình mạng, tab riêng lẻ, tiện ích mở rộng, v.v.


Tìm quy trình bạn muốn hủy và sau đó nhấp vào nút "X" ở góc trên bên phải bên trái của màn hình. Sau đó, bạn có thể chọn giữa "Thoát" và "Buộc thoát" để gửi lệnh thoát (để cho quá trình có thời gian lưu dữ liệu của bạn) hoặc lệnh buộc thoát (để tắt quá trình ngay lập tức, lý tưởng nếu nó bị lỗi). Tìm hiểu thêm về cách xác định các quy trình an toàn để loại bỏ trên máy Mac của bạn.


2. Cách giết/huỷ tiến trình Mac bằng Terminal

Cũng có thể hủy các quy trình từ dòng lệnh bằng Terminal trên máy Mac của bạn. Để thực hiện việc này, trước tiên hãy khởi chạy Terminal (sử dụng Spotlight hoặc từ thư mục Ứng dụng > Tiện ích) và chạy lệnh topđể xem danh sách các quy trình đang chạy. Ngoài ra, sử dụng lệnh để ps -axxem  danh sách các quy trình cùng với ID quy trình (hoặc viết tắt là PID).


Bạn sẽ cần PID để kết thúc một tiến trình, nhưng việc rà soát hàng trăm tiến trình có thể là một việc vặt. May mắn thay, chúng ta có thể xác định các quy trình bằng cách sử dụng ps ax | grep AppName lệnh, trong đó AppName là tên của ứng dụng bạn muốn tìm.

Ví dụ: nhập ps ax | grep Safari sẽ trả về danh sách các quy trình có "Safari" trong tiêu đề. Xin lưu ý rằng lệnh này phân biệt chữ hoa chữ thường, vì vậy việc tìm kiếm "steam" sẽ trả về các kết quả khác cho "Steam"


Ghi lại số PID bên cạnh quy trình bạn muốn hủy, sau đó tắt nó bằng cách chạy lệnh kill PID. Ví dụ, kill 3500. Thay vào đó, để hủy một quy trình ngay lập tức (còn được gọi là buộc thoát) kill -9 3500.

Bạn cũng có thể giết một tiến trình bằng cách sử dụng tên của nó bằng killalllệnh, chẳng hạn killall Safari. Điều này sẽ hủy tất cả các quy trình có tên "Safari" (một lần nữa, các quy trình phân biệt chữ hoa chữ thường).

3. Cách giết/huỷ tiến trình Mac trên một cổng cụ thể

Nếu bạn cần hủy một tiến trình đang sử dụng một cổng mạng cụ thể trên máy Mac của mình, thì trước tiên bạn cần tìm hiểu xem tiến trình nào đang sử dụng cổng đó. May mắn thay, điều này rất dễ thực hiện bằng Terminal. Lệnh khác nhau tùy thuộc vào phiên bản macOS bạn đang sử dụng.

Đối với các máy tính Mac hiện đại (bao gồm cả các mẫu Apple Silicon) chạy macOS El Capitan trở lên, hãy sử dụng lệnh lsof, chẳng hạn như: lsof -i tcp:51413 để tìm quy trình đang chiếm cổng 51413. Trên các máy tính Mac cũ hơn, bạn có thể sử dụng netstat, ví dụ: netstat -vanp tcp | grep 51413để tìm quy trình trên cổng 51413.


Khi bạn có PID, bạn có thể kết thúc nó bằng killlệnh như đã nêu ở trên. Nếu bạn đang sử dụng lsof, bạn có thể hủy ngay một tiến trình dựa trên cổng mà nó đang sử dụng bằng kill -9 $(lsof -ti:portnumber)lệnh, portnumbercổng đang được đề cập ở đâu.

4. Cách buộc thoát ứng dụng trong Dock

Nếu quá trình bạn muốn thoát là một ứng dụng trong thanh công cụ của bạn, bạn có thể buộc đóng ứng dụng đó để tắt ứng dụng ngay cả khi ứng dụng bị lỗi và không phản hồi. Để thực hiện việc này, hãy tìm ứng dụng trong thanh công cụ của bạn và nhấp chuột phải (hoặc nhấp chuột điều khiển), sau đó giữ phím "Tùy chọn" trên bàn phím của bạn và chọn "Buộc thoát" ở cuối danh sách.


Bạn có thể buộc thoát bất cứ thứ gì, cho dù nó có bị lỗi hay không, nhưng bạn có nhiều khả năng bị mất tiến trình chưa lưu khi làm như vậy. Nếu bạn thấy rằng mình thường xuyên phải thực hiện việc này, hãy tìm hiểu cách khắc phục sự cố ứng dụng bị lỗi trên máy Mac của bạn.