我有一个多处理应用程序,其中父进程创建一个队列并将其传递给工作进程。所有进程都使用此队列来创建队列处理程序以进行日志记录。有一个工作进程从此队列中读取并进行日志记录。
工作进程不断检查父进程是否还活着。问题是当我从命令行杀死父进程时,除了一个之外,所有工作人员都被杀死。记录器进程也终止。我不知道为什么一个进程一直在执行。是因为队列中有任何锁等吗?在这种情况下如何正确退出?我在用
sys.exit(0)
退出。
我有一个多处理应用程序,其中父进程创建一个队列并将其传递给工作进程。所有进程都使用此队列来创建队列处理程序以进行日志记录。有一个工作进程从此队列中读取并进行日志记录。
工作进程不断检查父进程是否还活着。问题是当我从命令行杀死父进程时,除了一个之外,所有工作人员都被杀死。记录器进程也终止。我不知道为什么一个进程一直在执行。是因为队列中有任何锁等吗?在这种情况下如何正确退出?我在用
sys.exit(0)
退出。