在macOS上移除Process.memory_maps()
💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
在psutil 5.6.0版本中,macOS上不再支持Process.memory_maps()方法,因为该方法在某些macOS版本中可能导致OSError或程序崩溃,原因是Apple的未文档化系统调用。由于缺乏有效解决方案,决定彻底移除该方法。
🎯
关键要点
- 在psutil 5.6.0版本中,macOS上不再支持Process.memory_maps()方法。
- 该方法在某些macOS版本中可能导致OSError或程序崩溃,原因是Apple的未文档化系统调用proc_regionfilename()。
- Process.memory_maps()方法在macOS上调用时会引发AccessDenied错误,甚至在root权限下也无法访问其他进程。
- 由于缺乏有效解决方案,决定彻底移除Process.memory_maps()方法。
❓
延伸问答
为什么在macOS上移除了Process.memory_maps()方法?
因为该方法在某些macOS版本中可能导致OSError或程序崩溃,且缺乏有效解决方案。
Process.memory_maps()方法在macOS上会引发什么错误?
该方法可能引发OSError或导致整个Python进程崩溃。
在什么版本的psutil中移除了Process.memory_maps()?
在psutil 5.6.0版本中移除了该方法。
Process.memory_maps()方法在macOS上有什么限制?
该方法只能访问当前进程或其子进程,调用其他进程时会引发AccessDenied错误。
为什么没有找到有效的解决方案来修复Process.memory_maps()?
因为Apple的proc_regionfilename()系统调用未文档化,且vmmap是闭源的,导致难以调试。
在macOS上,Process.memory_maps()方法的调用会有什么后果?
调用该方法可能导致AccessDenied错误或程序崩溃,影响代码的正常运行。
➡️