开发者社区> 问答> 正文

如何停止/终止python脚本的运行?

背景: 我有一个运行的python脚本。它包含许多在循环中调用的os.system("./executableNane")。 如果我按下ctrl + C,它就会停止当前./executableNane的执行并传递到下一个。 问题: 如何停止执行整个脚本,而不只是执行当前可执行的调用? 请注意,我已经仔细阅读了这里的问题/答案,但即使杀死,我可以杀死可执行的executableNane,但不是整个脚本(我无法找到使用top)。 我必须停止脚本的唯一方法(不重新启动系统)是在一个循环中继续按ctrl + C,直到所有测试完成。 问题来源StackOverflow 地址:/questions/59379272/how-to-stop-terminate-a-python-script-from-running-once-again

展开
收起
kun坤 2019-12-30 09:35:09 1444 0
1 条回答
写回答
取消 提交回答
  • 您可以使用子进程和信号处理程序来完成此任务。您还可以使用子流程通过子流程接收和发送信息。管道,您可以在文档中了解更多。 以下应该是一个基本的例子,你想做什么:

    import subprocess
    import signal
    import sys
    
    def signal_handler(sig, frame):
        print("You pressed Ctrl+C, stopping.")
        print("Signal: {}".format(sig))
        print("Frame: {}".format(frame))
    
        sys.exit(123)
    
    # Set up signal handler
    signal.signal(signal.SIGINT, signal_handler)
    
    print("Starting.")
    while True:
        cmd = ['sleep', '10']
        p = subprocess.Popen(cmd)
        p.wait()
        if p.returncode != 0:
            print("Command failed.")
        else:
            print("Command worked.")
    
    2019-12-30 09:35:14
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载