psutil 5.6.0版本与进程父级
💡
原文英文,约800词,阅读约需3分钟。
📝
内容提要
psutil 5.6.0版本引入了多个重要改进,包括新增的process parents()方法,Windows平台上API加载优化,以及进程挂起/恢复方法的改进。同时,OSX上移除了memory_maps()方法以避免错误,并改进了异常处理以提供更清晰的错误信息。
🎯
关键要点
- psutil 5.6.0版本新增了process parents()方法,用于返回当前进程的父进程列表。
- Windows平台上优化了API加载,某些动态加载的DLL库现在在启动时只加载一次,提高了性能。
- 改进了进程的挂起和恢复方法,采用了未公开的NtSuspendProcess和NtResumeProcess API。
- 修复了SE DEBUG模式的问题,允许Python进程在启动时设置该模式,以减少对低PID进程的AccessDenied异常。
- 在OSX上移除了memory_maps()方法,以避免因使用未记录的Apple API而导致的错误。
- 改进了异常处理,OSError和WindowsError异常现在会包含导致错误的系统调用信息。
- 修复了一些重要的bug,包括process_iter()的线程安全性和其他与进程相关的方法的错误。
❓
延伸问答
psutil 5.6.0版本新增了哪些重要功能?
psutil 5.6.0版本新增了process parents()方法、优化了Windows平台的API加载、改进了进程挂起/恢复方法,并移除了OSX上的memory_maps()方法。
process parents()方法的作用是什么?
process parents()方法用于返回当前进程的父进程列表,如果没有已知的父进程,则返回空列表。
Windows平台上对API加载的优化有什么影响?
优化后,某些动态加载的DLL库在启动时只加载一次,从而显著提高了不同函数和方法的性能。
psutil 5.6.0版本如何改进了异常处理?
改进后,OSError和WindowsError异常将包含导致错误的系统调用信息,提供更清晰的错误信息。
为什么在OSX上移除了memory_maps()方法?
因为memory_maps()方法基于未记录的Apple API,可能导致错误和段错误,移除后避免了这些问题。
psutil 5.6.0版本修复了哪些重要的bug?
修复了process_iter()的线程安全性、OSX上Process cmdline()和environ()可能错误引发OSError等多个重要bug。
➡️