如何找到Python脚本被终止的原因?

如何找到Python脚本被终止的原因?,python,bash,Python,Bash,我有大约100万个文件(它们是模拟输出)。我想在一个文件中存储它们的特定信息。我有一个1米的for循环。我放置了一个计数器来跟踪for循环的状态。在875000到900000之间的地方,它将被杀死。我认为这可能是一个空间问题。 当我运行df-h或df/时,大约有68G可用。 Python脚本可能被终止的其他可能原因是什么?我怎样才能更深入地了解它呢?通常,当程序的RAM用完时,您会收到被杀死的消息(与您拥有的大量硬盘相反)。你应该留心主存。运行top并查看程序占用的内存,或者使用guppy()之

我有大约100万个文件(它们是模拟输出)。我想在一个文件中存储它们的特定信息。我有一个1米的for循环。我放置了一个计数器来跟踪for循环的状态。在875000到900000之间的地方,它将被杀死。我认为这可能是一个空间问题。 当我运行
df-h
df/
时,大约有68G可用。
Python脚本可能被终止的其他可能原因是什么?我怎样才能更深入地了解它呢?

通常,当程序的RAM用完时,您会收到
被杀死的消息(与您拥有的大量硬盘相反)。你应该留心主存。运行top并查看程序占用的内存,或者使用guppy()之类的工具以编程方式跟踪内存利用率


我猜您在处理文件时正在创建一些大的内存数据结构,在遍历文件时可能没有取消分配它们。

代码片段将有所帮助。然而,我猜想,您正在一次性加载内存中的所有文件,由于文件很大,可能会导致RAM完全膨胀,从而导致脚本死亡。如果您的用例是从每个文件中获取特定的行/文本,我建议使用
re
模块进行模式转换,并相应地读取文件


请参阅
syslog
。您可以在Ubuntu的
/var/log/
中获取系统日志。syslog将提示脚本失败的可能原因

在Linux系统上,请检查
dmesg的输出。如果进程被内核终止,它将在那里有一个解释。最可能的原因:内存不足或文件描述符不足。

您可以发布您正在使用的脚本吗?你是在阅读完文件后关闭的吗?你说的“被杀”是什么意思?你是说它的进程消失了,没有错误消息吗?这个问题似乎与Python无关;听起来你的进程好像被操作系统杀死了。所以我们应该问:它是什么操作系统?这个问题可能是重复的吗?@Ev.Kounis,是的,我正在关闭它们。@BoarGules,是的,没有错误,你是对的,我使用了htop,这表明Mem的使用率很高。