我创建了一个非常简单的测试,启动并关闭我正在使用Python Nose测试平台测试的软件,以跟踪我正在处理的软件启动序列中的错误。
设置测试使其在单次执行中启动并关闭约1,500次。
几个小时后,我发现测试无法在300次迭代后启动软件。在等待进程启动时超时。一旦我重新登录,测试开始启动过程没有任何问题,所有测试也开始通过。
这对我来说非常令人费解。我从未见过这种行为。这在Windows上也从未发生过。
我想知道是否有一种节电状态,Mac正在等待当前正在运行的进程完成并禁止新进程启动。
如果有人能说清楚这种混乱,我真的很感激。
我在High Sierra上运行Python 2.7.x.
我不知道任何一个状态,系统会在新的进程仍在运行时拒绝新的进程。
但是,我可以很容易地想象一个过程可能因某些意外依赖于某个过程而挂起的情况。窗口服务器。例如,我曾经注意到rsvg-convert是一个在SSH会话中运行的命令行SVG-to-image转换器,它有不同的字体可用,具体取决于我是否同时登录控制台。当我重新编译SVG库以排除对macOS特定库的所有引用时,这种行为就消失了......