Cách định vị và hủy tiến trình bằng thiết bị đầu cuối Linux

Tác giả Security+, T.Tư 25, 2024, 03:53:57 CHIỀU

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

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

Mọi chương trình đang chạy ở cuối máy chủ đều có thể tạo ra một hoặc nhiều tiến trình.

Một máy chủ có thể có một số người dùng thực thi nhiều lệnh sẽ tạo ra các tiến trình. Các tiến trình này có thể chạy nền trước cũng như nền sau. Nếu một chương trình đang chạy ở nền trước, nó có thể chiếm thiết bị đầu cuối nơi chương trình được khởi động ban đầu và các ứng dụng khác thậm chí không thể khởi động được cho đến khi các tiến trình khác vẫn đang chạy nền trước. Trong khi đó, các tiến trình khác cũng có thể chạy ở chế độ nền, trong trường hợp này, thiết bị đầu cuối mà chúng tôi bắt đầu khởi động chương trình của mình có thể thêm các lệnh mới khác trong khi chương trình vẫn đang chạy.

Daemon cũng là một loại tiến trình liên tục chạy. Họ lắng nghe yêu cầu trên các cổng cụ thể. Chúng thường được khởi tạo khi khởi động hệ thống và chỉ chờ ở chế độ nền và giữ ở trạng thái không hoạt động cho đến khi cần dịch vụ.

Đôi khi trong khi làm việc, hệ thống của chúng tôi không phản hồi, một tiến trình cũng có thể chiếm nhiều dung lượng hệ thống và thậm chí có thể dừng lại. Vì vậy, chúng ta cần tìm và loại bỏ tiến trình đó trong Linux để tiếp tục. Có nhiều cách để loại bỏ một tiến trình trong Linux sẽ được thảo luận trong hướng dẫn này. Một tiến trình có thể bị huỷ một cách mạnh mẽ bởi những lệnh này.

Tôi đã sử dụng Ubuntu khi thực hiện bài viết này. Tuy nhiên, các lệnh có thể hoạt động trên mọi bản phân phối Linux.

1. Định vị một tiến trình Linux

Bước 1 : Trước hết, hãy mở Terminal bằng cách nhấp vào Ubuntu launcher và tìm kiếm Terminal.


Bước 2 : Bây giờ hãy nhấp vào Terminal và đợi terminal mở.


Bước 3 : Sau khi mở terminal, bạn sẽ có màn hình như thế này:


Bước 4: Hai chìa khóa quan trọng ở đây trong các bước sắp tới là:

PID - Đó là ID tiến trình. Mỗi tiến trình đều có một số gồm 5 chữ số cụ thể được gán cho chính tiến trình đó. Các số có thể được lặp lại khi chúng đạt đến giới hạn tối đa nhưng luôn là duy nhất cho một tiến trình trong hệ thống.
Lệnh top – lệnh được sử dụng làm lệnh cơ bản để xem tất cả các tiến trình hiện đang chạy đang sử dụng tài nguyên của thiết bị máy tính. Vì vậy, chúng tôi thực thi lệnh top- trong terminal và kết quả là:


Lệnh top bản thân nó là một ứng dụng. Nó có thể được sử dụng để hiển thị danh sách tất cả các tiến trình và nó có bố cục mới khi nó được thực thi. Đây là ví dụ về nó,

  • h  – Được sử dụng để hiển thị  cửa sổ trợ giúp . Cửa sổ trợ giúp có tất cả các lệnh, chúng cung cấp thông tin khá hữu ích.
  • space  - Khi nhấn dấu cách, chúng ta sẽ cập nhật bảng tiến trình ngay lập tức. Chúng tôi sẽ không phải chờ đợi trong bất kỳ khoảng thời gian nào.
  • f  – để thêm tệp để hiển thị trong bố cục hoặc xóa để xóa một số trường cụ thể nhằm ngăn chúng hiển thị.
  • q  – nó được sử dụng để thoát khỏi  ứng dụng hàng đầu  và cũng được sử dụng cho cửa sổ được mở thêm
  • l  – nó được sử dụng để chuyển đổi hiển thị thông tin trung bình tải và thời gian hoạt động.
  • m  – nó được sử dụng để chuyển đổi hiển thị thông tin của bộ nhớ.
  • P  (Shift + p) – nó được sử dụng để sắp xếp các tiến trình theo mức sử dụng CPU.
  • s  - nó được sử dụng để thay đổi độ trễ giữa các lần làm mới.

Bước 5: Ngoài ra còn có một lệnh khác để xem danh sách tất cả các tiến trình hiện đang chạy, chúng tôi sử dụng "ps –A | less".

Mã nguồn [Chọn]
$ ps –A | less
Danh sách tất cả các tiến trình hiện đang chạy sẽ xuất hiện. tiến trình này hiển thị tất cả các tiến trình đang chạy có  "ID tiến trình" PID liên quan của chúng . Bạn có thể xem thêm danh sách này để tìm ra tên của tiến trình cũng khớp với chương trình mà bạn thực sự muốn loại bỏ. Các chương trình chạy gần đây nhất sẽ được hiển thị ở cuối danh sách mà bạn muốn loại bỏ khỏi danh sách. Trong ví dụ của chúng tôi, chúng tôi đã sử dụng Firefox như một tiến trình mà chúng tôi quan tâm sẽ bị loại bỏ.


Sau khi hoàn tất, nhấn "q" để thoát khỏi cửa sổ này.

2. Huỷ tiến trình bằng ID

Khi nhận được PID, chúng ta có thể sử dụng lệnh kill để hủy một tiến trình từ thông tin chúng ta đã truy xuất từ lệnh ps –A.

Bước 1: Chúng tôi sử dụng lệnh "sudo kill PID" cho mục đích này. Trong đó PID là ID tiến trình mà chúng tôi muốn loại bỏ.

Mã nguồn [Chọn]
$ sudo kill 10
Nếu chúng ta muốn tắt một tiến trình cụ thể, chúng ta sẽ thấy PID tương ứng của nó và sau đó sử dụng nó để tắt tiến trình đang chạy đó. Ví dụ: chúng tôi muốn tắt tiến trình "firefox", vì vậy, trước tiên chúng tôi tìm thấy PID của nó.


Vì vậy, ở đây PID của firefox là 9999. Chúng tôi sử dụng "sudo kill PID" để tắt tiến trình của Firefox.

Mã nguồn [Chọn]
$ sudo kill 9999
3. Làm thế nào để kiểm tra xem tiến trình đã bị huỷ hay chưa?

Sau đó, chúng tôi kiểm tra tất cả các tiến trình đang chạy sau khi loại bỏ tiến trình mà chúng tôi quan tâm, bằng cách sử dụng "ps –A | less". Kết quả cho thấy chúng ta không có tiến trình firefox (PID: 9999) trong danh sách.


4. Huỷ tiến trình theo tên

Để tiêu diệt một chương trình sử dụng tên tiến trình của nó chỉ hoạt động đối với tất cả các tệp thực thi (tức là tất cả các chương trình có thể chạy được) được mở tại thời điểm thực thi. Tất cả các chương trình đang chạy ẩn đều không thể bị tắt bằng tên tiến trình.

Bây giờ chúng ta sẽ hủy tiến trình mà chúng ta quan tâm bằng cách sử dụng tên của tiến trình đó. Nếu chúng ta muốn tắt một tiến trình cụ thể, chúng ta sẽ thấy PID tương ứng của nó và sau đó sử dụng nó để tắt tiến trình đang chạy đó. Ví dụ: chúng tôi muốn tắt tiến trình "firefox", vì vậy, trước tiên chúng tôi tìm thấy PID của nó.


Vì vậy, ở đây tên tiến trình là Firefox và chúng tôi sử dụng lệnh "pkill firefox" để hủy tiến trình này.

Mã nguồn [Chọn]
$ pkill firefox
5. Làm thế nào để kiểm tra xem tiến trình Firefox đã bị huỷ hay chưa?

Sau đó, chúng tôi kiểm tra tất cả các tiến trình đang chạy sau khi loại bỏ tiến trình mà chúng tôi quan tâm, bằng cách sử dụng "ps –A | less". Kết quả cho thấy chúng ta không có tiến trình firefox nào trong danh sách.


Cảm ơn đã đọc bài viết này. Chúng ta đã thấy cách chúng ta có thể định vị và hủy bỏ một tiến trình bằng cách sử dụng ID hoặc tên tiến trình của nó.