gpt4 book ai didi

python - 让 python 进程回话 SIGUSR1 调用

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:45 25 4
gpt4 key购买 nike

我有一个可以在后台运行很长时间的 python 脚本,我正在尝试找到一种从中获取状态更新的方法。基本上我们正在考虑向它发送一个 SIGUSR1 信号,然后让它报告状态更新。

在 Python 中捕获信号不是问题,有很多相关信息。

但是如何将信息返回给发起信号的进程呢?似乎没有办法通过接收进程找出发起进程的pid,这可以提供一种发送信息的方法。这里一条回复消息就足够了(以'忙于上传;现在55%;将在这样的时间完成');持续更新会很棒,但不是必需的。

我想到的是将此数据写入一个具有预定名称的临时文件 - 存在留下陈旧文件的问题,然后需要某种清理例程。但这听起来像是一个 hack。有没有更好的?

运行进程发出信号的方式无关紧要,它不一定是kill -SIGUSR1 pid。任何与之沟通的方式都可以。只要通信可以从主进程运行后启动的新进程启动,可能在不同用户下运行。

最佳答案

信号并非设计为允许传递数据的通用进程间通信机制。他们只能提供通知。目标进程的响应可能相当通用(例如,生成输出到发送方知道要查看的特定文件),但将数据直接传回发送方需要不同的机制,如管道、共享内存、消息队列等。另请注意,一般来说,接收信号的进程无法真正确定是谁发送了信号,因此无论如何它都不知道向何处发送响应。

关于python - 让 python 进程回话 SIGUSR1 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com