Làm thế nào để hủy một quy trình từ dòng lệnh

How Kill Process From Command Line



Mọi chương trình đã được đưa vào RAM và tất cả được thiết lập để hướng tới CPU để thực thi được gọi là một quá trình. Bất cứ khi nào bạn đang làm việc với một hệ điều hành mà bạn chọn, bạn sẽ nhận thấy nhiều tiến trình đang chạy trên hệ điều hành đó cùng một lúc. Một số quy trình này được kích hoạt để bắt đầu tự động ngay sau khi bạn bật hệ điều hành của mình, tức là những quy trình này là bắt buộc để hệ thống của bạn hoạt động bình thường. Cũng có một số quy trình mà bạn phải kích hoạt thủ công khi khởi động hệ thống.

Đôi khi, bạn có thể cảm thấy như thể một số quy trình không cần thiết đang chạy trên hệ thống của mình, bạn có thể không cần quy trình nữa hoặc một quy trình có thể đã bắt đầu hoạt động sai. Trong tất cả các tình huống này, bạn sẽ phải cố gắng tìm cách giết chết (hoặc kết thúc) các quá trình. Bạn có thể hủy một quy trình trong Linux thông qua GUI hoặc CLI. Bài viết này khám phá một số cách khác nhau để giết một tiến trình từ dòng lệnh trong Linux.







Lưu ý: Các phương pháp hiển thị trong bài viết này được thực hiện trong Linux Mint 20.



Các phương pháp để giết một tiến trình bằng dòng lệnh

Sau đây là ba hình thức khác nhau của việc giết một tiến trình từ dòng lệnh trong Linux Mint 20.



Phương pháp # 1: Sử dụng lệnh kill

Để hủy một quy trình thông qua thiết bị đầu cuối bằng cách sử dụng lệnh kill trong Linux Mint 20, hãy tiến hành theo phương pháp được đưa ra bên dưới:





Đầu tiên, khởi chạy thiết bị đầu cuối bằng cách nhấp vào biểu tượng của nó trên thanh tác vụ Linux Mint 20. Thiết bị đầu cuối Linux Mint 20 được hiển thị trong hình ảnh sau:



Để sử dụng lệnh kill, bạn sẽ cần biết ID tiến trình của tiến trình mà bạn muốn hủy bằng lệnh này. Đây còn được gọi là PID, là số nhận dạng duy nhất cho mọi quy trình hoạt động trên hệ thống của bạn. Để xác định ID quy trình của tất cả các quy trình hiện đang chạy trên hệ thống của bạn, hãy thực hiện lệnh sau trong thiết bị đầu cuối:

$ps-Cây rìu

Lệnh này sẽ tìm nạp danh sách tất cả các quy trình hiện đang chạy trên hệ thống Linux Mint 20 của bạn, cùng với PID của chúng.

Danh sách tất cả các quy trình hiện đang chạy trên hệ thống của tôi được hiển thị trong hình ảnh bên dưới:

Bây giờ, sau khi xác định PID của tiến trình mà bạn muốn giết, bạn sẽ cần thực hiện lệnh giết. Đối với trường hợp này, chúng tôi sẽ hủy quá trình Firefox bằng PID 1934, như bạn có thể xác minh từ hình ảnh hiển thị ở trên.

Lưu ý rằng PID này sẽ khác nhau mỗi khi bạn chạy một phiên bản mới của một quy trình. Hơn nữa, trong hình trên, bạn có thể thấy nhiều PID tương ứng với quá trình Firefox. Tất cả những thứ này đều là PID con, ngoại trừ cái đầu tiên. Đây là lý do đằng sau việc sử dụng năm 1934 làm PID của tiến trình Firefox, trên thực tế, đây là PID đầu tiên của nó.

Cú pháp của lệnh kill như sau:

$giết chếtPID

Ở đây, bạn sẽ cần phải thay thế thuật ngữ PID bằng PID của quá trình mà bạn muốn kết thúc. Trong ví dụ này, chúng tôi đã thay thế thuật ngữ PID bằng năm 1934, tức là PID của quy trình Firefox, như thể hiện trong hình ảnh bên dưới:

Việc thực thi thành công lệnh này sẽ ngay lập tức giết tiến trình Firefox và bạn sẽ không thể tìm thấy nó trong danh sách các tiến trình hiện đang chạy trên hệ thống của mình.

Phương pháp # 2: Sử dụng lệnh pkill

Để hủy một quy trình thông qua thiết bị đầu cuối bằng lệnh pkill trong Linux Mint 20, hãy tiến hành theo phương pháp được đưa ra bên dưới:

Lệnh pkill không yêu cầu ID tiến trình của một tiến trình để giết nó; thay vào đó, bạn có thể thực hiện hành động này một cách đơn giản nếu bạn biết tên chính xác của quá trình. Trong trường hợp này, chúng tôi muốn chạy lệnh ping và sau đó, trong quá trình thực thi, chúng tôi muốn kết thúc quá trình bằng lệnh pkill.

Đầu tiên, ping một trang web bằng lệnh sau:

$pingURL

Tại đây, hãy thay thế URL bằng URL của trang web mà bạn muốn ping. Trong ví dụ này, chúng tôi muốn ping Google.com, như được hiển thị trong hình ảnh sau:

Khi lệnh ping này đang thực thi trong thiết bị đầu cuối, hãy khởi chạy một phiên bản khác của thiết bị đầu cuối và sau đó, thực hiện lệnh sau trong thiết bị đầu cuối:

$pkill ProcessName

Tại đây, hãy thay thế thuật ngữ ProcessName bằng tên của tiến trình mà bạn muốn diệt bằng lệnh pkill. Trong ví dụ này, chúng tôi đã thay thế thuật ngữ này bằng ping, vì chúng tôi muốn kết thúc quá trình ping.

Sau khi nhấn phím Enter, hãy quay lại phiên bản đầu cuối nơi lệnh ping đang chạy và bạn sẽ nhận thấy rằng quá trình này đã được kết thúc, như thể hiện trong hình dưới đây:

Phương pháp # 3: Sử dụng lệnh killall:

Để hủy một quy trình thông qua thiết bị đầu cuối bằng cách sử dụng lệnh killall trong Linux Mint 20, hãy tiến hành theo phương pháp được đưa ra bên dưới:

Lệnh killall có thể giết một tiến trình, cùng với tất cả các tiến trình con của nó. Một lần nữa, cũng giống như lệnh pkill, lệnh killall không yêu cầu PID; thay vào đó, bạn có thể chỉ cần giết một tiến trình nếu bạn biết tên của nó.

Để chứng minh việc sử dụng lệnh này, chúng tôi đã sao chép lại cùng một kịch bản mà chúng tôi đã tạo ở trên, tức là chúng tôi đã cố gắng ping Google.com bằng lệnh ping.

Sau khi làm điều đó, hãy khởi chạy một phiên bản đầu cuối mới, sau đó nhập lệnh sau:

$killallProcessName

Tại đây, bạn có thể thay thế thuật ngữ ProcessName bằng tên của tiến trình mà bạn cần diệt bằng lệnh killall. Trong trường hợp này, chúng tôi đã thay thế thuật ngữ này bằng ping, như thể hiện trong hình ảnh bên dưới:

Sau khi thực hiện lệnh này, bạn phải quay lại phiên bản đầu cuối mà bạn đã thực hiện lệnh ping. Bạn sẽ nhận thấy rằng quá trình đã được kết thúc, như bạn có thể thấy trong hình ảnh sau:

Phần kết luận

Bằng cách sử dụng bất kỳ phương pháp nào trong số ba phương pháp được mô tả trong bài viết này, bạn có thể hủy bao nhiêu quy trình tùy thích khi sử dụng Linux Mint 20 và do đó, tiết kiệm tất cả tài nguyên hệ thống mà các quy trình này đang chiếm dụng.