def check_phantomjs_process(self):
"""
Check if phantomjs is running.
:return:
"""
# Check rss and restart if too large, then check existence
# http://stackoverflow.com/questions/568271/how-to-check-if-there-exists-a-process-with-a-given-pid-in-python
try:
if not hasattr(self,'driver'): self.open_driver()
pid, rss_mb = self.phantomjs_pid_and_memory()
if rss_mb > self.phantomjs_rss_limit_mb: # memory limit
self.quit_driver(pid=pid)
self.open_driver()
pid, _ = self.phantomjs_pid_and_memory()
# check existence
os.kill(pid, 0)
except (OSError,psutil.NoSuchProcess,Exception) as e:
if self.debug: print('.phantomjs_pid_and_memory() exception:\n{}'.format(e))
if issubclass(type(e),psutil.NoSuchProcess):
raise Exception("There's a phantomjs zombie, and the thread shouldn't have reached this statement.")
return False
else:
return True
isp_data_pollution.py 文件源码
python
阅读 29
收藏 0
点赞 0
评论 0
评论列表
文章目录