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ąć?

gaurav VINAYAK shirodkar
źródło
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>
Stormvirux
źródło
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>)
użytkownik939407
źródło
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