pycharm终止代码运行时报错:进程已结束,退出代码137

pycharm终止代码运行时报错:进程已结束,退出代码137 ,第1张

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);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/724430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存