Jak znaleźć nazwę użytkownika PID w systemie Linux
17
Czy możesz mi pomóc znaleźć nazwę użytkownika PID, Kiedyś mój serwer został obciążony. Kiedy top -c, nie mogę nawet znaleźć nazwy użytkownika PID, który / który powoduje obciążenie serwera.
Byłeś szybszy ode mnie. Budzisz się wcześniej? W zależności od rozproszenia Linuksa działa również ps u 1234(Debian) lub po prostu ps 1234(Android z Busybox).
ott--
5
/proc/processID/status będzie zawierał informacje o identyfikatorze użytkownika, których możesz użyć do znalezienia nazwy użytkownika.
Odpowiedzi:
Dziwię się, że nikt tego jeszcze nie powiedział:
Wypróbuj
-p
opcjęps
polecenia.Na przykład, jeśli masz PID
1234
, uruchom:(
-u
Został dodany, aby uwzględnić nazwę użytkownika w danych wyjściowych)Możesz użyć
grep
lubawk
itp., Aby wyodrębnić żądane informacje.źródło
ps u 1234
(Debian) lub po prostups 1234
(Android z Busybox)./proc/processID/status
będzie zawierał informacje o identyfikatorze użytkownika, których możesz użyć do znalezienia nazwy użytkownika.To robi to samo:
Zastąp YOUR_PROCESS_ID swoim numerem identyfikacyjnym procesu.
źródło
Uzyskaj tylko nazwę użytkownika z PID:
Możesz także połączyć to z
pgrep
. W tym przykładzie pokazujemy wszystkie nazwy użytkowników wykonujące jakiś.php
plik:Znajdź tylko jedną nazwę użytkownika uruchamiającą określony unikalny proces:
źródło
Czego dokładnie chcesz? W moim systemie, jeśli uruchomię „top -c”, otrzymuję:
PID (identyfikator procesu / zadania) to pierwsza kolumna, a konto użytkownika, na którym działa procesus, to druga kolumna
źródło
Myślę, że najkrótsza droga to:
/proc/<pid>/loginuid
Plik ma numer UID użytkownika uruchamiającego proces;id -nu
odczytuje UID ze standardowego wejścia i zwraca nazwę użytkownika.źródło