如何在python中终止进程之前执行代码?

2024-04-13

这个问题涉及 python 中的多处理。我想在终止进程时执行一些代码,更具体地说,是在终止进程之前执行一些代码。我正在寻找一种解决方案atexit.register对于Python程序。

我有一个方法工作者,看起来:

def 工人(): 而真实: 打印('工作') 时间.睡眠(2) 返回

我通过以下方式运行它:

proc = multiprocessing.Process(target=worker, args=()) proc.start()

我的目标是在终止之前执行一些额外的代码,我的做法是:

proc.terminate()


使用信号处理并拦截 SIGTERM:

import multiprocessing
import time
import sys
from signal import signal, SIGTERM

def before_exit(*args):
    print('Hello')
    sys.exit(0)  # don't forget to exit!


def worker():
    signal(SIGTERM, before_exit)
    time.sleep(10)

proc = multiprocessing.Process(target=worker, args=())
proc.start()
time.sleep(3)
proc.terminate()

在子进程终止之前生成所需的输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在python中终止进程之前执行代码? 的相关文章

  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 使用 MediaCodec 截断视频

    我使用Android MediaCodec库对视频文件进行转码 主要是改变分辨率示例代码在这里 https stackoverflow com questions 29943121 mediamuxer video compression
  • sc.textFile 之后的 zipWithIndex 会给出正确的行号吗?

    说如果我这样做 如下所示 val rdd sc textFile someFile txt val rddWithLines rdd zipWithIndex zipWithIndex 添加的索引是否对应于输入文件中的行号 第一行当然是 0
  • Powershell:递归替换目录的选择子文件中的字符串

    我在 Windows XP 上使用 Powershell 并尝试编写一个命令来 1 read all bat cfg and config files 2 replace a string it s actually the path th
  • 尝试对变量列表进行所有操作组合

    我有一个值列表 例如 values 1 2 3 4 我想尝试此列表中的所有组合 例如 1 2 1 3 1 4 1 2 1 3 1 4 1 2 3 1 2 4 1 3 4 etc 以最简洁的方式获得所有这些可能的操作组合的最直接的方法是什么
  • Mongodb子文档之间的多对多关系

    TL DR 想象一下第一个 match 阶段给了你几个文档 但你想要refine他们在里面 就像 redact做 但问题是你的子文档有关系 而你想要 where就像他们之间的检查一样 怎样才能做到这一点呢 我无法 unwind 因为它会导致
  • RxJava 中的 n 元笛卡尔积

    现在我持有一个Observable
  • 算术恒等式和 EFLAGS

    因为 x not x 1 意味着 a b a not b 1 那么 sub rax rcx 相当于 mov temp rcx not temp add rax temp add rax 1 其中 temp 是一些被认为是易失性的寄存器 换句
  • 在“UITableView”中选择行时调用新视图

    我目前正在编写我的第一个 iPhone 应用程序 但遇到了问题 我有一个包含 UITableView 的视图 这是我第一次尝试这样做 这是我试图实现的行为 当用户选择其中一行时 我希望调用一个新视图 将用户带到另一个页面 显示参考他们选择的
  • iOS 16 FairPlay 变化

    FairPlay 逻辑有任何变化吗 我的应用程序具有受 FairPlay 保护的视频和音频 它们在 iOS 15 7 之前完美运行 但在 iOS 16 中 makeStreamingContentKeyRequestData is thro
  • 如何通过 JavaScript 文件将所有 JavaScript 文件包含在目录中?

    我有一堆 JavaScript 文件 我想将它们包含在页面中 但我不想继续编写 那么有没有办法包含目录中的所有文件 大小未知 我可以做一些像 getScript js js 获取 js 目录中的所有 JavaScript 文件 我怎样才能使
  • 访问网络驱动器上的文件

    背景 我有一个必须从网络驱动器 Z 上的文件读取的应用程序 这在我的办公室域中工作得很好 但是它在现场 在不同的域中 不起作用 据我所知 域用户和网络驱动器的设置方式相同 但是我无权访问客户域中的用户等 当我无法访问网络驱动器时 我想我需要
  • 如何使用Android 4.4中出现的ImageReader?

    Android 4 4 Kit Kat 推出了图像读取器 http developer android com reference android media ImageReader html用于访问 Surface 中的图像的类 对于实时
  • 如何在 Rails 应用程序的数据库/模型中存储营业时间?

    我正在创建一个 Rails 应用程序 它将存储企业的营业时间和营业时间 最初 我想到简单地使用文本数据类型并使其成为自由格式 Monday to Friday 9am to 5pm Saturday 11am to 4pm Closed S
  • 无法在 urllib.request 中使用 https 代理

    我使用 python 创建了一个脚本urllib request申请https其中的代理 我尝试过如下操作 但遇到了不同类型的问题 如urllib error URLError
  • 如何为独立的 Illuminate IoC 容器创建 Illuminate/Support/Facade/App Facade

    在我的独立 没有 Laravel 项目中 我想使用 Illuminate IoC 容器 我还想通过访问应用程序容器App外观由提供illuminate support成分 我安装了这两个组件 v5 0 28 这是我的 简化的 代码 func
  • 从扩展类调用时,groovy 中的闭包不能使用私有字段

    我有一个 groovy 课程 其中有一个私有字段和一个方法 在该方法中 我调用 http 服务 并在其中传递一个闭包来处理响应 像这样的事情 class WebUiRestRequestSender private String jSess
  • 删除“if”语句的大括号是否有任何例外?

    我是一名计算机科学专业的学生 前段时间我们的教授向我们解释说 在 C 语言中 当只有一个语句时 我们可以删除大括号 例如 if a do b 但我们不能这样做 if a do b do c 因为那会做不止一个声明 但它也告诉我们 删除大括号
  • 在汇编器中导出优化的 strlen?

    以下代码能够确定 DWORD 的一个或多个字节是否设置为 0 mov eax value mov edx 07EFEFEFFh add edx eax xor eax 0FFFFFFFFh xor eax edx and eax 08101
  • numpy 数组上的余数函数 (%) 运行时间远远长于手动余数计算

    在过去的几天里 我一直致力于改进 python 函数的运行时 该函数需要多次使用余数函数 等 我的主要测试用例是超过 80 000 个元素的 numpy 数组 单调递增 迭代次数为 10000 次 尽管我也尝试过各种其他大小 最终我发现余数
  • 如何在python中终止进程之前执行代码?

    这个问题涉及 python 中的多处理 我想在终止进程时执行一些代码 更具体地说 是在终止进程之前执行一些代码 我正在寻找一种解决方案atexit register对于Python程序 我有一个方法工作者 看起来 def 工人 而真实 打印