【发布时间】:2022-11-22 19:15:15
【问题描述】:
该代码在我的 Fedora 37 WS (16C - 32Th) - Python 3.11.0 上运行良好,将其移至 Ubuntu 22.04 Server (12C - 24Th) - Python 3.11.0 并收到以下错误: (https://i.stack.imgur.com/K21PM.png)
我检查了这些文件是否真的在回购协议中,它们确实在,但我不断遇到这些崩溃,正如我在我的 Fedora WS 上所说的那样工作得很好,我按原样移动整个回购协议,现在给我错误。
可能是什么问题,是 Ubuntu 问题,还是它管理进程的方式?可能是 CPU 问题,在 SV 上我有一个 i9 7920x,在 WS 上有一个 r9 5950x。 如果程序需要的线程多于系统拥有的线程,系统会崩溃吗?通常我认为不会,因为操作系统会抢占它们。
产生问题的代码:
for x in newInElem:
p = Process(target=CompareVCF, args=['db/IN/'+x+'.vcf','db/IN/'+x+'.db', 'db/REF/'+x+'.db', 'OUTPUT/Matched/'+x+'.vcf', 'OUTPUT/Unmatched/'+x+'.vcf', x])
if __name__ == "__main__":
p.start() # start thread
processes.append(p)
for th in processes:
p.join()
谢谢!!!
【问题讨论】:
-
我建议使用堆栈溢出约定正确格式化问题。例如,将代码放在代码块中,输入图像描述等。
-
谢谢!我对 SO 很陌生
标签: python ubuntu process multiprocessing fedora