2009-02-26 64 views
27

運行幾個python腳本時出現問題。在命令頂部,它只顯示這些腳本的'python'。如何重命名進程或以其他方式對其進行標記,以便我可以將它們分開排列?頂部的進程命令

回答

53

只需使用--full-commands選項來顯示每個進程的完整的命令行:

top -c 
+0

是GNU-top?似乎不能在OSX上工作(假設它使用BSD top?) – nmr 2014-03-31 18:32:03

13

按「c」並顯示命令行 - 這將允許您看到它們是什麼。

3

您是否在搜索顯示完整命令行的方法?然後只需按'c'

4

您也可以查看ps命令。根據您的系統:

ps aux 

ps -fu USERNAME 
+2

這就像你要求ps說「Frak你的用戶名!」 :-P – 2009-02-27 20:06:55

3

這可能將是平臺和版本相關,但在我使用的平臺(CentOS,Debian)上,top通常顯示命令運行的最後一部分作爲ID。

因此,我猜測你是通過執行「python scriptname」來運行你的腳本。

如果你改變你的腳本是可執行文件本身(使用chmod + x和第一線#!的/ usr/bin中/蟒蛇[或是其他地方,蟒蛇生活]),然後只用「腳本名」而不是運行它們「python scriptname」,它們應該顯示在頂部作爲它們的文件名。

+0

還要確保在腳本的開始處不要使用「#!/ usr/bin/env python」。只需使用「#!/ usr/bin/python」即可。 – pixelbeat 2009-03-03 23:36:07

1

您也可以嘗試ps aux或ps -au USESRNAME。 ps很好,因爲你可以格式化輸出,例如。 ps -u USERNAME -o pid,將顯示進程的pid和命令的命令。然後你也可以通過grep(ps -u USERNAME -o pid,command | grep python)來過濾它,看看所有正在運行的python腳本。

1

我不確定您是否可以在Python中執行此操作,但在C程序中,實際上可以修改argv [0]以顯示該流程的「漂亮」名稱。我認爲約束是新名字的長度必須與原名稱相同或更短,這樣你纔不會跺腳。

+0

哇。需要嘗試一下。聽起來像一個黑客,但。 – Cheery 2009-02-27 10:06:50