2012-10-01 11 views
5

Mögliche Duplizieren:
Finding the command for a specific PID in Linux from PythonKann man herausfinden, in welchem ​​Skript ein Python-Prozess läuft?

ich derzeit ein Python-Prozess (und seine pid, natürlich) und ich fragte mich, ob es möglich ist, herauszufinden, welches Skript dieser Prozess läuft . (Ich benutze Ubuntu Linux 10.04.4 LTS)

+0

Es ist nicht in der Befehlszeile Argumente für diesen Prozess aufgeführt? – Thanatos

+0

@Thanatos Was sind Befehlszeilenargumente für einen Prozess? Wie kann ich sie kennenlernen? Meinst du die Argumente, die erscheinen, wenn ich "man myProgram" oder "myProgram --help" eingebe? –

Antwort

8
cat /proc/${pid}/cmdline | tr '\0' ' ' 

Die cmdline pseudo-Datei eines Prozesses enthält Kommandozeilen-Argumente als NUL getrennte Liste von Strings. Der Befehl tr übersetzt die NULs in Leerzeichen.

+0

Danke, es hat funktioniert. Auch mit Kommandozeilenargumenten :-) Aber warum werden die Leerzeichen übersprungen? –

+0

@moose: weil 'cmdline' NUL-getrennte Befehlszeilenkomponenten enthält. Bearbeitete die Antwort. –

+0

Sehr nette Antwort (+1 und akzeptieren in ein paar Minuten)! Kennen Sie eine Website, auf der ich mehr über den Prozessordner und die Bedeutung der Dateien lesen kann, die sich in '/ proc/$ {pid} /' befinden? –

Verwandte Themen