我创建了一个非常简单的测试,该测试可以使用Python Nose测试平台启动和关闭我正在测试的软件,以跟踪正在使用的软件的启动顺序中的错误。
对测试进行了设置,使其可以一次执行就启动和关闭约1500次。
几个小时后,我发现该测试无法在300次迭代后启动到该软件。等待进程开始时超时。我重新登录后,测试就开始毫无问题地启动了该过程,并且所有测试也开始通过。
这让我很困惑。我从未见过这种行为。这也从未在Windows上发生过。
我想知道Mac是否正在等待当前正在运行的进程完成并禁止新进程启动的节能状态。
如果有人能阐明这种困惑,我将非常感谢。
我在High Sierra上运行Python 2.7.x。
答案 0 :(得分:0)
我不知道在旧的系统仍在运行的情况下,系统完全拒绝新进程的任何状态。
但是,我可以轻松地想象一种情况,由于某些意外的依赖,例如窗口服务器。例如,我曾经注意到在SSH会话中运行的命令行SVG到图像转换器rsvg-convert具有不同的字体,具体取决于我是否同时在控制台上登录。当我重新编译SVG库以排除对macOS特定库的所有引用时,此行为消失了。