Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
为什么我的Perl脚本以137退出?_Perl_Exit Code - Fatal编程技术网

为什么我的Perl脚本以137退出?

为什么我的Perl脚本以137退出?,perl,exit-code,Perl,Exit Code,有没有办法消除perl中的警告(退出代码137)?我正在另一个shell脚本中运行linux上的Perl脚本。此Perl脚本退出时带有警告和退出代码137。我无法准确指出出口代码137代表什么 避免此警告的最佳方法是什么?我在脚本中尝试了“无警告”,并且在Perl脚本的末尾也有一个出口0。137=128+9,这意味着其他进程向您发送了一个信号9,即SIGKILL。也就是说,另一个脚本杀死了你的脚本,这就是它看起来的样子。我怀疑退出警告是由调用perl程序的shell打印出来的,而不是由perl程

有没有办法消除perl中的警告(退出代码137)?我正在另一个shell脚本中运行linux上的Perl脚本。此Perl脚本退出时带有警告和退出代码137。我无法准确指出出口代码137代表什么


避免此警告的最佳方法是什么?我在脚本中尝试了“无警告”,并且在Perl脚本的末尾也有一个出口0。

137=128+9,这意味着其他进程向您发送了一个信号9,即SIGKILL。也就是说,另一个脚本杀死了你的脚本,这就是它看起来的样子。

我怀疑退出警告是由调用perl程序的shell打印出来的,而不是由perl程序本身打印出来的,因此perl代码中的“无警告”对你没有帮助。退出代码137表示它被SIGKILL信号终止。

我在启动python脚本时遇到了相同的退出代码137。 结果是OOM杀手开始攻击,将SIGKILL发送给python解释器。
如果是相同的原因,您可以在/var/log/messages中找到oom msgs

我从ANT脚本中得到了相同的错误代码137。查看/var/log/messages,我知道这是内存不足错误

Jun 21 07:33:30 myhost kernel: Out of memory: Kill process 52959 (java) score 164 or sacrifice child
Jun 21 07:33:30 myhost kernel: Killed process 52959 (java) total-vm:709496kB, anon-rss:397016kB, file-rss:0kB

你的脚本从哪里退出?你真的看到警告了吗?发布相关的代码块可能会有帮助。我不知道如何找出脚本的退出位置。它似乎做得很好(因为我的输出是正确的),但退出137。我使用echo$status来查看退出代码。如果希望人们能够帮助您,您至少需要显示shell脚本中调用perl脚本的部分,并显示输出的“警告”。(只需编辑您的问题并将这些内容添加到其中。)可能的重复不完全是因为独立运行脚本也会吐出137。谢谢。也有可能是它自己发出了信号。杀死它的是oomkiller进程,而不是另一个脚本。在Linux上,检查
dmesg
输出,看看是否是OOM杀手。你能详细说明一下为什么你的答案中有“128”吗?这是一个已知的数字,从那里开始递增吗?oom\u reaper消息也在
dmesg
中。