进程共享队列未正确终止

2024-04-25 21:15:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个多进程应用程序,其中父进程创建一个队列并将其传递给工作进程。所有进程都使用此队列来创建用于日志记录的queuehandler。有一个工作进程正在从该队列中读取数据并进行日志记录。你知道吗

辅助进程不断检查父进程是否处于活动状态。问题是,当我从命令行终止父进程时,除了一个工作进程之外,其他所有工作进程都被终止。记录器进程也将终止。我不知道为什么一个进程一直在执行。是因为队列中有锁吗?在这种情况下如何正确退出?我正在使用

    sys.exit(0)

为了退出。你知道吗


Tags: 命令行应用程序队列进程sys记录exit情况
1条回答
网友
1楼 · 发布于 2024-04-25 21:15:43

只有在没有其他机会的情况下,我才会使用sys.exit(0)。最好是干净地完成每一个线程/进程。在您的过程中会有一些while循环。所以只要在那里做break,这样它就可以结束了。你知道吗

离开前整理一下,即释放所有外部资源的句柄,如文件、套接字、管道等。你知道吗

这些句柄中的某个地方可能是您看到的行为的原因。你知道吗

相关问题 更多 >