Làm thế nào để liệt kê & Kill Processes bằng cách sử dụng lệnh PGrep & PKill

Cách dễ nhất để giết các tiến trình bằng Linux

Có rất nhiều cách khác nhau để tiêu diệt các tiến trình bằng Linux. Ví dụ, trước đây tôi đã viết một hướng dẫn cho thấy " 5 cách để giết một chương trình Linux " và tôi đã viết một hướng dẫn thêm gọi là " Giết bất kỳ ứng dụng nào bằng một lệnh duy nhất ".

Là một phần của "5 cách để giết một chương trình Linux" Tôi đã giới thiệu bạn với lệnh PKill và trong hướng dẫn này, tôi sẽ mở rộng việc sử dụng và chuyển mạch có sẵn cho lệnh PKill.

PKill

Lệnh PKill cho phép bạn giết một chương trình đơn giản bằng cách chỉ định tên. Ví dụ: nếu bạn muốn giết tất cả các thiết bị đầu cuối mở có cùng ID tiến trình, bạn có thể nhập như sau:

pkill hạn

Bạn có thể trả về số lượng các quá trình bị giết bằng cách cung cấp công tắc -c như sau:

pkill -c

Đầu ra sẽ đơn giản là số lượng các quá trình bị giết.

Để giết tất cả các quy trình cho một người dùng cụ thể chạy lệnh sau:

pkill -u

Để tìm id người dùng hiệu quả cho người dùng, sử dụng lệnh ID như sau:

id -u

Ví dụ:

id -u gary

Bạn cũng có thể giết tất cả các quy trình cho một người dùng cụ thể bằng cách sử dụng ID người dùng thực như sau:

pkill -U

ID người dùng thực là ID của người dùng đang chạy quy trình. Trong hầu hết các trường hợp, nó sẽ giống như người dùng hiệu quả nhưng nếu quá trình được chạy bằng đặc quyền nâng cao thì ID người dùng thực của người đang chạy lệnh và người dùng hiệu quả sẽ khác.

Để tìm ID người dùng thực, sử dụng lệnh sau.

id -ru

Bạn cũng có thể giết tất cả các chương trình trong một nhóm cụ thể bằng cách sử dụng các lệnh sau

pkill -g pkill -G

Id nhóm tiến trình là id nhóm đang chạy quy trình trong khi id nhóm thực là nhóm quá trình của người dùng thực tế chạy lệnh. Đây có thể khác nếu lệnh được chạy bằng đặc quyền nâng cao.

Để tìm id nhóm cho một người dùng chạy lệnh ID sau:

id -g

Để tìm id nhóm thực bằng lệnh ID sau:

id -rg

Bạn có thể giới hạn số lượng các quá trình pkill thực sự giết chết. Ví dụ như giết chết tất cả các quy trình của người dùng có lẽ không phải là những gì bạn muốn làm. Nhưng bạn có thể giết quá trình mới nhất của họ bằng cách chạy lệnh sau.

pkill -n

Cách khác để giết chương trình cũ nhất chạy lệnh sau:

pkill -o

Hãy tưởng tượng hai người dùng đang chạy Firefox và bạn chỉ muốn giết phiên bản Firefox cho một người dùng cụ thể, bạn có thể chạy lệnh sau:

pkill -u firefox

Bạn có thể giết tất cả các tiến trình có ID cha cụ thể. Để làm như vậy, hãy chạy lệnh sau:

pkill -P

Bạn cũng có thể giết tất cả các tiến trình với một session ID cụ thể bằng cách chạy lệnh sau:

pkill -s

Cuối cùng, bạn cũng có thể giết tất cả các tiến trình đang chạy trên một kiểu thiết bị đầu cuối cụ thể bằng cách chạy lệnh sau đây:

pkill -t

Nếu bạn muốn giết rất nhiều quy trình, bạn có thể mở tệp bằng trình chỉnh sửa như nano và nhập từng quy trình trên một dòng riêng biệt. Sau khi lưu tệp, bạn có thể chạy lệnh sau để đọc tệp và giết từng quá trình được liệt kê bên trong tệp.

pkill -F / path / to / file

Lệnh Pgrep

Trước khi chạy lệnh pkill, bạn nên xem tác dụng của lệnh pkill bằng cách chạy lệnh pgrep .

Lệnh pgrep sử dụng các công tắc tương tự như lệnh pkill và một vài lệnh bổ sung.

Tóm lược

Hướng dẫn này đã chỉ cho bạn cách giết các quá trình bằng lệnh pkill. Linux chắc chắn có rất nhiều lựa chọn có sẵn cho các quá trình giết chết bao gồm killall, kill, xkill, sử dụng màn hình hệ thống và lệnh trên cùng.

Tùy bạn chọn cái nào phù hợp với bạn.