Cách xem quy trình được tạo bởi người dùng cụ thể trong Unix / linux


115

Tôi muốn xem danh sách quy trình được tạo bởi người dùng hoặc nhóm người dùng cụ thể trong Linux Tôi có thể thực hiện bằng pslệnh hoặc có bất kỳ lệnh nào khác để đạt được điều này không?


6
ps -u username. Hầu hết các lệnh có một trang hướng dẫn mà bạn có thể đọc với man the-command.
Stéphane Chazelas

Câu trả lời:


160

Để chỉ xem các quy trình thuộc sở hữu của một người dùng cụ thể, hãy sử dụng lệnh sau:

top -U [username]

Thay thế [tên người dùng] bằng tên người dùng được yêu cầu

Nếu bạn muốn sử dụng ps thì

ps -u [username]

HOẶC LÀ

 ps -ef | grep <username>

HOẶC LÀ

ps -efl | grep <username>

cho danh sách mở rộng

Kiểm tra trang ps man để biết các tùy chọn

Một cách khác là sử dụng pstree wchich in cây quy trình của người dùng

pstree <username or pid>

2
Tất cả `... | grep <tên người dùng> `giải pháp không hoạt động nếu bạn có hai tên người dùng dài hơn N ký tự. Trong trường hợp của tôi N là 6.
guettli

1
Lưu ý: Tôi đã có một lỗi cho top -U [username]top -u [username]thay vào đó làm việc cho tôi. Debian 9. Vì vậy, nếu bất kỳ ai khác gặp lỗi với biểu mẫu -U, hãy thử chữ thường.
Gloweye

2

thử cái này

ps -fp $(pgrep -u <username>)

Làm thế nào là tốt hơn ps -u <username>, như được đề cập trong câu trả lời hiện có (hoặc ps -fu <username>nếu bạn muốn chi tiết quá trình)?
Stephen Kitt

ps -u không cung cấp chi tiết quy trình đầy đủ, nhưng ps -fu <tên người dùng> thì có. Đồng ý ps -fu là một giải pháp tốt nhất
user939407
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.