python解释器僵死原因分析及解决

发布于 2022-09-05 05:54:32 字数 1184 浏览 19 评论 0

最近在学习Python自然语言处理, 经常需要执行这样绘图的命令

>>> cfd.plot()

奇怪的是 经常关闭生成的图片后 命令并未正常终止 此时python解释器就处于一个僵死状态了 ctrl+d 显式退出也不管用 只能kill进程

刚开始我以为是matplotlib子进程没能正常终止 想查到它的进程号 显式杀死 但是查不到

# 并没发现什么子进程
➜  ~ pstree -p 69096
-+= 00001 root /sbin/launchd
 \-+= 00286 zhugw /Applications/iTerm.app/Contents/MacOS/iTerm2 -psn_0_65552
   \-+= 64910 zhugw /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp zhugw
     \-+= 64911 root login -fp zhugw
       \-+= 64912 zhugw -zsh
         \--= 69096 zhugw /usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
         
# 查看其关联的线程 看不出个所以然来
➜  ~ ps -M 69096
USER    PID   TT   %CPU STAT PRI     STIME     UTIME COMMAND
zhugw 69096 s004    0.0 S     4T   0:01.06   0:15.97 /usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/Resources/Python.app/Contents/MacOS/Python
      69096         0.0 S     4T   0:00.09   0:00.02
      69096         0.0 S     4T   0:00.04   0:00.03         

像这种僵死情况是什么原因导致的? 除了kill python进程外还有其他恢复办法吗?即能显式终止cfd.plot()命令

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文