phantomjs是一个headless浏览器。 因为它自带page,webserver模块,一开始我误以为它是类似浏览器的一个东西;实际上比作node更为合适:它是单线程的。 场景: phantomjs内部有一个待渲染page,外部通过webserver与之交互。 问题: 内部的page可能出错、超时,导致渲染失败 因为是以server运行,不会自己关闭。 现有机制是加了一个心跳包,让其自己超时关闭。但是这个方案有一个非常大的问题:phantomjs是单线程的,当page出错,导致死循环,它自己不能再执行其他任务了。 查阅api,发现phantomjs还带了一个有趣的功能:开子进程 遂如下实验: 开启: ../phantomjs process.js 2333 1 参数为: