如何打印进程数前10名的用户?
如何按 Linux 发行版上运行的进程数打印前 10 位用户?我已经设法使用 shell 脚本来完成此操作,但现在我对如何使用 Python 来完成此操作感兴趣。
How could I print the top 10 users on a linux distribution by the number of processes they have running? I have managed to do this using a shell script, but now I'm interested at how I can do this using Python.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解析 ps aux 的输出不是很愉快,而且可能很棘手,因为不能保证所有 Linux 系统上的格式都相同。
安装第三方工具,例如 psutil 或 PSI 应该让事情变得简单和便携。
如果您正在寻找仅适用于 Linux 的解决方案而不安装第三方模块,那么以下内容可能会有所帮助:
在现代 Linux 系统上,所有进程都按其 pid 列在 /procs 目录中。目录的所有者就是进程的所有者。
产量
Parsing the output of
ps aux
is not very pleasant, and can be tricky because the format is not guaranteed to be the same on all Linux systems.Installing a third-party tool like psutil or PSI should make things easy and portable.
If you are looking for a Linux-only solution without installing a third-party module, then the following might help:
On modern Linux systems, all processes are listed in the /procs directory by their pid. The owner of the directory is the owner of the process.
yields