Cách tìm PID của quy trình Linux với PIDOF hoặc PGREP

Nov 15, 2024
Linux

Làm việc với một quy trình Linux thường có nghĩa là biết ID quy trình của nó hoặc PID. Nó có một số duy nhất được cung cấp cho mỗi phần mềm đang chạy. Dưới đây là hai cách để tìm hiểu nó là gì.

ID quy trình Linux là gì?
Cách nhận Linux PID với lệnh PIDOF
Cách tìm PID với lệnh PGREP trong Linux

ID quy trình Linux là gì?

Trong nội bộ, Linux theo dõi quá trình chạy của nó bằng cách phân bổ cho họ một số ID duy nhất, được gọi là ID quy trình hoặc PID. Mỗi ứng dụng đang chạy, tiện ích và daemon đều có PID.

PID là các giá trị số nguyên đơn giản. Một quy trình mới bắt đầu sẽ nhận được một PID cao hơn so với PID cuối cùng được phát hành. Vì vậy, quá trình với PID cao nhất là quy trình mới nhất, gần đây nhất là quy trình. Điều đó tiếp tục cho đến khi hệ thống đạt giá trị tối đa cho PID.

Giới hạn trên cho PID là 32768. Một khi con số đó đạt được, Linux sẽ quay trở lại từ đầu và tìm kiếm một PID đã trở nên miễn phí vì quá trình mà trước đây đã chấm dứt.

Quá trình với PID là 1 là quá trình đầu tiên được ra mắt khi Linux được ra mắt bởi các quy trình khởi động. Trên các hệ thống dựa trên systemd màllll sẽ Systemd . Trên các hệ thống khác, nó có khả năng là trong đó , mặc dù một số phân phối Linux sử dụng các lựa chọn thay thế như OpenRC hoặc S6 .

Đôi khi, nó rất hữu ích để khám phá PID của một quá trình, thường là vì bạn muốn thực hiện một số hành động trong quá trình đó. Dưới đây là hai phương pháp khác nhau để tìm ra PID của một quá trình khi bạn biết tên của quá trình.

CÓ LIÊN QUAN: UNIX PIDS là gì và chúng hoạt động như thế nào?

Cách nhận Linux PID với lệnh PIDOF

Các pidof Lệnh có thể được coi là sự kết hợp của pid pid và và của. Nó giống như hỏi những gì mà PID của quá trình này? Nếu chúng ta sử dụng lệnh mà không có tham số thì nó không làm gì cả. Nó âm thầm đưa bạn trở lại lời nhắc lệnh. Chúng ta cần chỉ định một tên quy trình.

pidof cho chúng ta biết PID của vỏ bash là 8304. Chúng ta có thể xác minh rằng với PS yêu cầu. Tất cả những gì chúng ta cần làm là gọi PS không có tham số. Nó báo cáo về các quy trình đang chạy trong phiên hiện tại.

Bởi vì PS Các báo cáo về tất cả các quy trình mà nó có thể tìm thấy, sẽ bao gồm chính nó, nó cho chúng ta biết có một bash quá trình và a PS quá trình chạy. Như chúng tôi mong đợi, bash quá trình có cùng một PID pidof Báo cáo về.

Nếu bạn có nhiều hơn một cửa sổ đầu cuối, pidof sẽ báo cáo về tất cả.

Lưu ý rằng các PID được liệt kê từ cao nhất đến thấp nhất hoặc nói cách khác, từ gần đây nhất đến lâu đời nhất.

Điều này không thể hiện là bạn có thể không phải là chủ sở hữu của tất cả các quy trình đó. pidof Tìm tất cả các quy trình với tên phù hợp, bất kể ai sở hữu chúng. Hãy cùng nhìn sâu hơn bằng cách đưa đầu ra vào grep . Chúng tôi sử dụng -E (chọn tất cả các quy trình) và -f (Danh sách đầy đủ) Tùy chọn với PS .

Hai trong số các quy trình bash thuộc về người dùng Dave, thứ ba thuộc về người dùng Mary.

Đôi khi một ứng dụng sẽ tạo ra rất nhiều quy trình, mỗi ứng dụng nhận được PID của riêng mình. Đây là những gì chúng tôi nhận được với Google Chrome.

Theo mặc định, pidof Báo cáo về tất cả các quy trình. Nếu chúng ta muốn, chúng ta có thể yêu cầu chỉ những quá trình gần đây nhất. Các -S (Bắn đơn) Tùy chọn làm điều đó.

Để sử dụng giết lệnh đến Giết thủ công Tất cả của trình duyệt Chrome Các quá trình sẽ tẻ nhạt. Nếu chúng ta nắm bắt danh sách các quy trình thành một biến, chúng ta có thể chuyển biến đó cho giết yêu cầu. Các giết Lệnh có thể chấp nhận nhiều PID trên lệnh của nó, vì vậy nó vui vẻ chấp nhận đầu vào của chúng tôi và giết chết tất cả các quy trình cho chúng tôi.

Lệnh đầu tiên thu thập đầu ra từ pidof và gán nó cho biến của chúng tôi, mà chúng tôi đặt tên PID . Chúng tôi không cần tiếng vang Nó lên màn hình, chúng tôi chỉ làm điều đó để hiển thị những gì biến của chúng tôi.

Chúng tôi chuyển biến cho giết lệnh, sau đó sử dụng pidof Một lần nữa để kiểm tra xem có bất kỳ quá trình chrome nào vẫn còn không. Họ đã bị giết.

Một Quirk của pidof là nó đã thắng được trả lại pid của một kịch bản shell. Nó trả về pid của bash Shell đang chạy tập lệnh. Để xem vỏ đang chạy tập lệnh, chúng ta cần sử dụng -X (SCRIPT) Tùy chọn.

pidof trả về pid của một vỏ bash, và PS Cho chúng ta thấy có hai vỏ đang chạy. Một là vỏ chạy pidof lệnh, và cái khác là shell chạy tập lệnh.

Cách tìm PID với lệnh PGREP trong Linux

Các PGREP lệnh hoạt động giống như pidof Trong quá trình nhận ID quy trình trong Linux. Tuy nhiên, nó không chỉ tìm thấy các quy trình phù hợp chính xác với manh mối tìm kiếm, nó cũng trả về PID của bất kỳ quy trình nào có tên chứa văn bản tìm kiếm.

Ở đây, một ví dụ trên một máy tính có Firefox chạy trên đó.

Tất cả các lệnh này tìm thấy quy trình Firefox và trả lại PID. Nhưng nếu bạn đã nhập lệnh:

Riêng của nó, làm thế nào bạn biết nếu PGREP đã tìm thấy fi refo x và không, nói, một dameon được gọi là p Trọng tài MD?

Nếu bạn thêm -l (Tên danh sách) Tùy chọn, PGREP sẽ liệt kê tên quy trình cùng với PID.

Nếu có nhiều trường hợp của một quá trình phù hợp, tất cả chúng đều được liệt kê.

Lưu ý rằng chúng được liệt kê theo thứ tự tăng dần, đó là thứ tự ngược lại với đầu ra từ pidof . Chúng được liệt kê từ quy trình lâu đời nhất đến quy trình mới nhất. Như chúng ta đã thấy với pidof , không phải tất cả các quy trình được liệt kê nhất thiết phải thuộc về bạn.

Các -U (ID người dùng) Tùy chọn cho phép bạn tìm kiếm các quy trình phù hợp với văn bản tìm kiếm và được sở hữu bởi người dùng .

Lần này chúng ta thấy ba quá trình bash trong kết quả. Cái kia đang được sử dụng bởi Mary .

Và chúng tôi có thể yêu cầu xem tất cả các quy trình cho một người dùng cụ thể.

Để xem dòng lệnh đầy đủ, hãy sử dụng -Một (Danh sách đầy đủ) Tùy chọn.

Một từ về quyền sở hữu PID

Không phải tất cả các quy trình hệ thống đều thuộc sở hữu của người dùng gốc . Nhiều người, tất nhiên, nhưng không phải tất cả trong số họ. Ví dụ: lệnh này hoạt động:

Nó thất bại bởi vì nguồn gốc không sở hữu quá trình đó. Chủ sở hữu thực tế là một người dùng hệ thống có tên là Av Avahi. Sử dụng đúng tên người dùng, lệnh hoạt động.


Linux - Các bài báo phổ biến nhất

Làm thế nào để sử dụng “Đây Documents” trong Bash trên Linux

Linux Mar 31, 2025

Fatmawati Achmad Zaenuri / Shutterstock [số 8] Các tài liệu "ở đây được đặt tên một cách kỳ lạ" cho phép bạn sử dụng chuy�..


Làm thế nào để sử dụng Brace Expansion trong Bash Shell Linux

Linux May 12, 2025

Fatmawati Achmad Zaenuri / Shutterstock [số 8] Nẹp mở rộng là một kỹ thuật hữu ích để tạo danh sách các chuỗi có thể được..


là gì Bash Từ điển trên Linux, và làm thế nào để sử dụng chúng?

Linux Jun 16, 2025

fatmawati achmad zaenuri / shutterstock.com [số 8] Từ điển Bash cung cấp cho bạn bản đồ băm và các mảng kết hợp trong các tậ..


Làm thế nào để Update Ubuntu Linux

Linux Aug 27, 2025

tomeqs / shutterstock.com. [số 8] Cần mới nhất và lớn nhất trong phần mềm Ubuntu? Bạn không cần phải là một linux pro. Đọc..


Cách sử dụng lệnh fsck trên linux

Linux Aug 18, 2025

Pixza Studio / Shutterstock [số 8] Tất cả dữ liệu quan trọng của chúng tôi nằm trong một hệ thống tệp thuộc loại này hoặc ..


Cách quay lại kernel trong Linux

Linux Sep 30, 2025

fatmawati achmad zaenuri / shutterstock.com [số 8] Nếu PC Linux của bạn đột nhiên có vấn đề sau khi cập nhật hệ thống của b�..


Có gì mới trong Kernel Linux 5.14

Linux Sep 9, 2025

Sean Locke Chụp ảnh / Shutterstock [số 8] Vì Linux quay 30 tuổi, Kernel 5.14 đã được phát hành. Nó chứa sự cung cấp rộng thông t..


POP ​​là gì! _Os?

Linux Oct 20, 2025

Nếu bạn đã nghe về POP! _OS. [số 8] , bạn có thể đã thấy mọi người thường đề cập đến nó là phiên bản Windows thay thế tốt nhất h..


Thể loại