栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pycharm终止代码运行时报错:进程已结束,退出代码137 (interrupted by signal 9: SIGKILL)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pycharm终止代码运行时报错:进程已结束,退出代码137 (interrupted by signal 9: SIGKILL)

在pycharm中调试代码,终止时报错:进程已结束,退出代码137 (interrupted by signal 9: SIGKILL)

网上查找时,遇到这个问题的一般是训练网络时的内存不足,进程被系统结束了,但我这里遇到的不是这样的问题,代码运行时正常,而终止经常出现这个问题,这里说下原因:

多次发送快捷键引发的bug

因为觉得用鼠标点击pycharm的“运行”和“停止”按钮很麻烦,所以想直接使用对应的快捷键 运行shift+F10、停止ctrl+F2,然后就想用digispark作为键盘,实现一键运行和停止,如下图所示,另外接了两个按键。digispark中的代码逻辑是每0.1s检测一下,如果对应的键按下,就发送相应的快捷键,也就是说如果按键一直按下,每隔0.1s就会发送一次,而pycharm在短时间接收到个停止命令就会出现上述的bug(pycharm版本2022.1),使用鼠标连续点按停止按钮同样会导致这个问题。将digispark中的代码改为每次按下只会发送一次后,问题解决。

digispark一键运行停止代码
#include "DigiKeyboard.h"

int key0 = 0;
int key1 = 0;
int flag0 = 0;
int flag1 = 0;

void setup() {
    // put your setup code here, to run once:
    pinMode(0, INPUT);
    pinMode(1, INPUT);
}

void loop() {
    // put your main code here, to run repeatedly:
    key0 = digitalRead(0);
    key1 = digitalRead(1);
    if(key0 == 1 && flag0 == 0)
    {
        DigiKeyboard.sendKeyStroke(KEY_F2, MOD_CONTROL_LEFT);
        flag0 = 1;
    }
    else if(key0 == 0)
    {
        flag0 = 0;
    }
    if(key1 == 1 && flag1 == 0)
    {
        DigiKeyboard.sendKeyStroke(KEY_F10, MOD_SHIFT_LEFT);
        flag1 = 1;
    }
    else if(key1 == 0)
    {
        flag1 = 0;
    }
    DigiKeyboard.delay(100);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/834709.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号