在 top 中的进程命令

28

当运行几个python脚本时,问题就出现了。在top命令中,它只显示这些脚本的“python”进程。如何重命名或标记进程,以便我可以在top中区分它们?

7个回答

58

只需使用--full-commands选项显示每个进程的完整命令行:

top -c

这是只能在GNU-top上运行吗?在OSX上似乎无法工作(假设它使用BSD top?) - nmr

14

按下"c"并显示命令行 - 这将允许您查看它们。


4

您也可以查看ps命令。根据您的系统不同:

ps aux

或者

ps -fu USERNAME

2
就好像你在要求ps说“Frak you USERNAME!”:-P - Jon W

3

您是否正在寻找一种显示完整命令行的方法?那么只需按 'c' 键即可。


3
这可能与平台和版本有关,在我使用的平台上(CentOS,Debian),top通常将运行的命令的最后一部分显示为ID。
因此,我猜想您是通过执行“python scriptname”来运行脚本的。
如果您将脚本更改为可作为自身执行(chmod +x和第一行#!/usr/bin/python [或任何Python所在的位置]),然后仅使用“scriptname”而不是“python scriptname”来运行它们,则它们应该以其文件名显示在top中。

同时确保在脚本开头不要使用 "#!/usr/bin/env python",而是使用 "#!/usr/bin/python"。 - pixelbeat

1
你也可以尝试使用 ps aux 或 ps -au USERNAME。ps 相当不错,因为你可以格式化输出,例如:ps -u USERNAME -o pid,command 将显示进程的 PID 和命令。然后,你还可以通过 grep 进行过滤(ps -u USERNAME -o pid,command|grep python),以查看所有正在运行的 Python 脚本。

1

我不确定在Python中是否可以这样做,但在C程序中,argv [0]实际上可以被修改以显示进程的“漂亮”名称。我认为限制是新名称必须等于或短于原始名称,以便您不会踩到内存。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接