2009-02-26 6 views
27

Das Problem tritt auf, wenn Sie einige Python-Skripts ausführen. In top at Befehl zeigt es nur 'Python' mit diesen Skripten. Wie kann ich einen Prozess umbenennen oder anderweitig markieren, so dass ich ihn oben unterscheiden kann?Ein Prozessbefehl in top

Antwort

53

Nutzen Sie einfach die --full-commands Option die vollständige Befehlszeile für jeden Prozess zeigen:

top -c 
+0

ist das nur GNU-top? scheint unter OSX nicht zu funktionieren (vorausgesetzt, es verwendet BSD oben?) – nmr

13

Drücken Sie "c" und zeigen Sie die Befehlszeile an - damit Sie sehen können, was sie sind.

3

Suchen Sie nach einer Möglichkeit, die vollständige Befehlszeile anzuzeigen? Dann drücken Sie einfach 'c'

4

Sie können auch den Befehl ps auschecken. Je nach System:

ps aux 

oder

ps -fu USERNAME 
+2

Es ist so, als ob du ps sagst "Frak you USERNAME!" :-P –

3

Dies ist wahrscheinlich Plattform sein wird und Versionsabhängig, aber auf den Plattformen, die ich verwende (CentOS, Debian), zeigt top normalerweise den letzten Teil des Befehls an, der als ID ausgeführt wird.

Ich rate daher, dass Sie Ihre Skripte ausführen, indem Sie "Python Skriptname".

Wenn Sie ausführbare Ihre Skripte ändern, wie sich sein (chmod + x und erste Zeile #!/Usr/bin/python [oder wo auch immer Python Leben]), und führen sie dann eher nur „ skript“ können als "python scriptname", sollten sie oben als ihr Dateiname angezeigt werden.

+0

Stellen Sie außerdem sicher, dass Sie nicht "#!/usr/bin/env python" am Anfang des Skripts verwenden. Verwenden Sie einfach "#!/Usr/bin/python". – pixelbeat

1

Sie können auch versuchen, ps aux oder ps -au USESRNAME. PS ist ziemlich nett, da Sie die Ausgabe formatieren können, z. ps -u USERNAME -o pid, Befehl, der pid und den Befehl des Prozesses anzeigen würde. Dann können Sie es auch über grep (ps -u USERNAME -o pid, Befehl | grep python) filtern, um alle laufenden Python-Skripte zu sehen.

1

Ich bin nicht sicher, ob Sie dies in Python tun können, aber in C-Programmen kann argv [0] tatsächlich geändert werden, um einen "schöneren" Namen für den Prozess zu zeigen. Ich denke, die Einschränkung ist, dass der neue Name gleich oder kürzer als der ursprüngliche Name sein muss, damit Sie nicht auf Speicher stampfen.

+0

wow. Müssen Sie das ausprobieren. Klingt wie ein Hack. – Cheery