Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python3.5中使用多源处理时出现权限错误,原因未知_Python_Python 3.x_Exception Handling_Python Multiprocessing_Multiprocess - Fatal编程技术网

在Python3.5中使用多源处理时出现权限错误,原因未知

在Python3.5中使用多源处理时出现权限错误,原因未知,python,python-3.x,exception-handling,python-multiprocessing,multiprocess,Python,Python 3.x,Exception Handling,Python Multiprocessing,Multiprocess,我面对一只奇怪的虫子。我有一个父进程,它产生两个子进程,其中包含无限循环,提供不同的服务。每个子进程与父进程共享一个multiprocessing.manager.list()变量类型。所有进程(父进程和子进程)都完全封装在try中,除了finally块,这样我就可以捕获并处理各种错误。我甚至还使用了Exception这个术语作为最后一个通用术语。尽管如此,我仍然定期出现以下错误: Traceback (most recent call last): File "<string>

我面对一只奇怪的虫子。我有一个父进程,它产生两个子进程,其中包含无限循环,提供不同的服务。每个子进程与父进程共享一个
multiprocessing.manager.list()
变量类型。所有进程(父进程和子进程)都完全封装在
try中,除了finally
块,这样我就可以捕获并处理各种错误。我甚至还使用了
Exception
这个术语作为最后一个通用术语。尽管如此,我仍然定期出现以下错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Program Files\Python35\lib\multiprocessing\spawn.py", line 100, in spawn_main
    new_handle = steal_handle(parent_pid, pipe_handle)
  File "C:\Program Files\Python35\lib\multiprocessing\reduction.py", line 86, in steal_handle
    _winapi.DUPLICATE_SAME_ACCESS | _winapi.DUPLICATE_CLOSE_SOURCE)
PermissionError: [WinError 5] Access is denied
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Program Files\Python35\lib\multiprocessing\spawn.py”,第100行,在spawn\u main中
新建\u句柄=偷取\u句柄(父\u pid,管道\u句柄)
文件“C:\Program Files\Python35\lib\multiprocessing\reduce.py”,第86行,在steal\u句柄中
_winapi.DUPLICATE_SAME_ACCESS|_winapi.DUPLICATE_CLOSE_SOURCE)
PermissionError:[WinError 5]访问被拒绝
从我生成的日志文件来看,没有任何迹象表明它来自我的任何进程(这在回溯中是显而易见的),并且根据我在代码中看到的情况,这对程序没有影响。我的印象是,
multiprocessing.Manager
要正常工作,需要生成一个单独的流程,只需将这些变量来回传递。问题是我真的需要至少在命令提示符下隐藏错误。许多信息正在呈现给用户,经常出现的错误会让人分心

不幸的是,我无法显示代码,因为我正在工作,而且目前有数千行代码,我不确定错误的确切来源。我将继续尝试缩小范围,如果我确实设法创建一个小示例,我将用它编辑问题

如有任何意见或建议,将不胜感激


python3.5.4(v3.5.4:3f56838,2017年8月8日,02:17:05)[MSC v.1900 64位(AMD64)]在win32上

我在这方面运气不太好,所以我最后尝试了一下
,除了一个
多处理器
函数中的所有内容之外(
spawn\u main
中的
spawn.py
)这让我觉得我甚至不想把它作为一个解决方案发布。但是,我不能在这上面花太多时间,而这项黑客工作似乎能完成这项工作。