跳转到主要内容

Python系统信息

项目描述

psi是一个Python模块,提供对实时系统和进程信息的直接访问。它由几个子模块组成。

arch”模块提供了有关系统的一些信息,例如系统名称和版本、机器架构等。它有一个表示每个系统的类和一个工厂函数,该函数将返回一个类实例,该实例代表当前运行psi的系统。

实验性的“mount”模块提供了有关系统上各种挂载文件系统的信息。它有一个表示本地或远程文件系统的类。

“进程”模块提供了关于系统上当前运行进程信息的接口。每个进程都由“Process”类的实例表示,另外还有一个“ProcessTable”类,它是所有运行进程的字典。要了解具体有哪些属性可用以及它们的含义,您应该查看“README”文件和“examples/”目录中的文档字符串和示例,但需要注意的是,所有信息都是在实例化时收集的。因此,“ProcessTable”和“Process”实例的内容实际上是快照,即使实际进程已经结束,它们仍然会包含所有信息。

最后,有一些通用函数可以直接在“psi”命名空间下使用,例如“loadavg()”、“getzoneid()”等。请再次查看文档字符串以获取详细信息。

有些信息可能并非在所有平台上都可用,而不是试图模拟这些信息,这些API部分在这些平台上根本不存在。例如,Linux上不可用的“psi.process.Process.pcpu”,只有SunOS 10及以上版本中可用的“psi.getzoneid()”等。如果无法找到所有信息,对象的一些属性描述符可能会返回AttributeError的子类,这允许您使用通用的“getattr()”语义,以及更具体地检测属性不可用的原因(权限不足、未实现等)。

支持的平台

Python:2.2及以上,包括3.x。

Linux:所有2.4和2.6内核。

SunOS:Solaris 8及以上,包括OpenSolaris(SunOS 11)。

AIX:5.2和5.3

Darwin:10.3及以上。

文档

我们仔细地提供了完整准确的文档字符串,因此请使用Python的“pydoc”工具和交互式提示,这将帮助您开始。

我们还有一个维基百科(http://bitbucket.org/chrismiles/psi/wiki/Home)和邮件列表(http://groups.google.com/group/psi-discuss psi-discuss@googlegroups.com)。不要犹豫,提出问题或提供反馈。

错误

请使用我们的问题跟踪器:http://bitbucket.org/chrismiles/psi/issues

setup.py的额外功能

新的“build_ext”选项:--devel。这使用-Werror并启用更多警告,以及禁用优化。

使用--undef PYMALLOC-U PYMALLOC来构建扩展,将使用libc的内存堆进行分配,而不是Python的。

“test”命令将运行测试套件。一些测试仅在以root身份运行测试套件时运行。目前,这些是尝试在特定调度程序和优先级下运行简单测试应用程序以断言psi正确检测这些进程属性的测试。

“valgrind”命令将在valgrind内存检查器下运行测试套件。为此,您需要一个特别编译的python

./configure --with-pydebug --without-pymalloc --prefix=/opt/pydebug
make
make install

“tags”命令将使用grind(它是python grin软件包的二进制文件)构建emacs TAGS文件。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

PSI-0.3b3.tar.gz (92.7 kB 查看哈希值)

上传时间

由以下支持