精英干员瑕光 2022-08-24 09:58 采纳率: 76.5%
浏览 48
已结题

python如何中止程序

我希望能够为python程序设立一个暂停机制,当我触发机制时 程序立刻停下,再次触发机制时程序从暂停处启动。在网上了解到多线程,但是似乎仍然会运行完当前块而不是立刻停止 ?
如果不能暂停,则希望达成中止。

我的问题:
1.我该如何达到暂停与再启动的结果 ?
2.我目前采用的中止方式时打包时带出控制台,直接关闭控制台,请问有更好的中止方式吗

  • 写回答

2条回答 默认 最新

  • 於黾 2022-08-24 10:08
    关注

    先说2吧
    想终止程序,要么杀死进程,要么杀死线程
    你把进程附加到控制台下运行,那么关闭控制台,子进程也关闭,间接实现杀死进程的效果
    其实也可以直接杀死进程
    可以创建外部进程的时候记录下进程句柄,然后杀死进程
    如果你的进程是唯一的,不会同一个exe开启好多个进程,那么也可以直接根据进程名字查找进程,然后杀死
    但是这样并不能实现问题1的效果呀,进程被杀死之后,再启动还是从头开始执行的,而不是从中断的地方开始执行
    问题1:
    在多进程的系统下,最小的执行颗粒是线程,并不是像单片机那样中断的机制
    你想在程序的任意处中断,不仅是办不到的,而且也没有任何意义
    你在几个特定的点设置可以中断的代码就行了
    比如要循环1000次,你可以设置暂停让它不要继续循环,或者继续循环,而循环了一半硬要停在一半,这没意义呀
    你要先想明白到底要解决个什么样的问题,然后找一个合适的手段去实现
    不要为了手段忘记目的
    如果你只是想要程序不要继续print一大堆东西,让人能够安安静静的看之前打印出来的东西
    那设置个sleep让它不要执行太快,再设置个bool变量控制它继续往下走还是原地while sleep,不就行了吗

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月1日
  • 已采纳回答 8月24日
  • 创建了问题 8月24日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度