如何找出哪个python脚本正在使用资源?

Jes*_*rer 7 python scripts process system-monitor top

有人能告诉我如何找出哪个 python 脚本使用了大量系统资源吗?

我可以通过 'top' 命令看到一个名为“python”的进程总是靠近列表的顶部。

2603 jesse     20   0  159m  27m  13m S    6  1.4   1:47.74 python
Run Code Online (Sandbox Code Playgroud)

有人能告诉我如何找到这个特定的 python 脚本的名称吗?

我可以经历禁用启动应用程序/进程的艰巨过程,直到我最终找到启动这个 python 进程的那个,但必须有更好的方法来确定这个 python 进程到底是什么,是吗?

做 aps -AH不会产生任何有用的东西。

ps -AH

   1 ?        00:00:00 init
...
1325 ?        00:00:00   lightdm
1382 tty7     00:01:57     Xorg
2265 ?        00:00:00     lightdm
2510 ?        00:00:00       gnome-session
2546 ?        00:00:00         ssh-agent
2560 ?        00:00:02         gnome-settings-
2582 ?        00:00:01           syndaemon
2578 ?        00:00:49         compiz
3009 ?        00:00:00           sh
3010 ?        00:00:01             gtk-window-deco
2590 ?        00:00:00         nm-applet
2591 ?        00:00:00         bluetooth-apple
2592 ?        00:00:00         indicator-ubunt
2593 ?        00:00:00         gnome-fallback-
2600 ?        00:00:05         nautilus
2601 ?        00:00:00         everpad
2603 ?        00:02:24         python
Run Code Online (Sandbox Code Playgroud)

Jes*_*rer 9

我自己找到了答案!

它是

ps -Ao pid,cmd
Run Code Online (Sandbox Code Playgroud)
  • -A = 显示所有进程
  • -o pid,cmd = 显示选项:进程 ID,完整的命令字符串

添加-H会为您提供一个树状列表,以便您可以查看哪个进程启动了哪个其他进程。

ps -AHo pid,cmd
Run Code Online (Sandbox Code Playgroud)

对我来说,有问题的过程是 /usr/share/screenlets/screenlets-pack-basic/Sysmonitor/SysmonitorScreenlet.py

我想我会关闭那个 sysmonitor screenlet,因为它会不断轮询 CPU 并使用比桌面其余部分更多的内存。