Wie könnte ich den user-Namen aus einer Prozess-id in python auf Linux?
Ich möchte den user-Namen aus einer Prozess-id in python auf Linux, so kann ich zeigen, wie diese:
name user name pid
Chrome wong2 123
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie die uid(s) von
/proc/
pid/status
. Sie sind in einer Zeile, die mitUid:
. Von der Benutzer-id, können Sie daraus den Benutzernamen mitpwd.getpwuid(pid).pw_name
.(Die Konstanten ergeben sich aus
fs/proc/array.c
in den Linux-kernel.)Wenn Sie nicht wollen, zu analysieren, die /proc/PID/status-Datei und der Prozess ist nicht zu ändern-UID und wenn forking-Prozess scheint teuer zu freuen, ein username, dann versuchen Sie:
könnten Sie Unterprozess.Popen aufrufen eines shell-Kommandos und Lesen von stdout in eine variable.
python-subprocess
In Linux, können Sie tun
ps -f
und Sie erhalten die UID und PID (-f
tut voll-format-Auflistung).