Jak zobaczyć proces stworzony przez konkretnego użytkownika w Uniksie / Linuksie


115

Chcę zobaczyć listę procesów utworzonych przez konkretnego użytkownika lub grupę użytkowników w systemie Linux. Czy mogę to zrobić za pomocą pspolecenia, czy też jest jakieś inne polecenie, aby to osiągnąć?


6
ps -u username. Większość poleceń ma stronę podręcznika, którą można czytać man the-command.
Stéphane Chazelas,

Odpowiedzi:


160

Aby wyświetlić tylko procesy należące do określonego użytkownika, użyj następującego polecenia:

top -U [username]

Zastąp [nazwa użytkownika] wymaganą nazwą użytkownika

Jeśli chcesz użyć ps, to

ps -u [username]

LUB

 ps -ef | grep <username>

LUB

ps -efl | grep <username>

dla rozszerzonej listy

Sprawdź opcje man ps na stronie

Inną alternatywą jest użycie pstree, który wypisuje drzewo procesów użytkownika

pstree <username or pid>

2
Wszystkie `... | grep <nazwa użytkownika> rozwiązania nie działają, jeśli masz dwie nazwy użytkowników dłuższe niż N znaków. W moim przypadku N ma 6 lat
guettli

1
Uwaga: dostałem błąd top -U [username]i top -u [username]pracowałem dla mnie. Debian 9. Więc jeśli ktokolwiek dostanie błąd w formularzu -U, wypróbuj małe litery.
Gloweye,

2

Spróbuj tego

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

Jak to jest lepsze niż ps -u <username>, jak wspomniano w istniejącej odpowiedzi (lub ps -fu <username>jeśli chcesz poznać szczegóły procesu)?
Stephen Kitt

ps -u nie podaje pełnych szczegółów procesu, ale ps -fu <nazwa użytkownika> tak. Zgadzam się ps -fu jest najlepszym rozwiązaniem
użytkownik939407
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.