Prozessname eines Python-Skripts
Da Python-Programme ja immer mit dem Python-Interpreter aufgerufen werden müssen, sieht man sie folglich "von außen" (also in der Prozessliste) nur als `python`. Gibt es eigentlich irgendeine Möglichkeit, bei Python-Skripten, die als ausführbare Datei von der Kommandozeile gestartet werden, den Namen dieser ausführbaren Datei als Prozessnamen sichtbar zu machen? Ich habe darüber ein bißchen nachgedacht, aber mir würde nichts einfallen. Geht halt nicht, weil Python-Programme nunmal nicht zu einer Binärdatei kompiliert werden, richtig?
Unter Unix reicht es, das Skript ausführbar zu machen und direkt zu starten. Dann erscheint der Name des Skripts als Prozessname.
-
- User
- Beiträge: 31
- Registriert: Sonntag 3. Oktober 2010, 12:21
In der Prozessliste kannst du auch die Argumente sehen mit denen ein Programm aufgerufen wurde. Daraus kannst du dann auslesen welches Skript ausgeführt wird.
Unter Unix kannst du dir mit "ps -F" oder "ps -f" oder "ps aux" oder "ps ax" Prozesse zusammen mit Parametern anzeigen lassen.
Oder du siehst dir alle Verzeichnisse in /proc/ an, die nur aus einer Zahl bestehen, und aus jedem Verzeichniss liest du die Datei "cmdline" aus. Da steht der Kommandozeilenaufruf drinn, mit dem das Programm aufgerufen wurde.
Unter Unix kannst du dir mit "ps -F" oder "ps -f" oder "ps aux" oder "ps ax" Prozesse zusammen mit Parametern anzeigen lassen.
Oder du siehst dir alle Verzeichnisse in /proc/ an, die nur aus einer Zahl bestehen, und aus jedem Verzeichniss liest du die Datei "cmdline" aus. Da steht der Kommandozeilenaufruf drinn, mit dem das Programm aufgerufen wurde.
Kann ich für Lubuntu nicht bestätigen. X-Flag ist gesetzt, Programm wird direkt gestartet, aber es bleibt bei `python` als Prozessname.lunar hat geschrieben:Unter Unix reicht es, das Skript ausführbar zu machen und direkt zu starten. Dann erscheint der Name des Skripts als Prozessname.
Mit etwas ctypes lässt sich das problem lösen:
https://github.com/cream/python-cream/b ... ame.py#L46
https://github.com/cream/python-cream/b ... ame.py#L46