为什么我的 Perl 脚本以 137 退出?
有没有办法消除 Perl 中的警告(退出代码 137)? 我正在 Linux 上的另一个 shell 脚本中运行 Perl 脚本。 此 Perl 脚本退出时出现警告和退出代码 137。我无法确定退出代码 137 代表什么。
避免此警告的最佳方法是什么? 我在脚本中尝试了“无警告”,并且 Perl 脚本末尾也有一个退出 0。
Is there a way to eliminate a warning (exit code 137) in perl? I am running a Perl script on linux within another shell script. This Perl script exits with a warning and exit code 137. I could not pinpoint what exit code 137 stands for.
What is the best way to avoid this warning? I tried "no warnings" in the script and I have an exit 0 at the end of my Perl script as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
137=128+9,这意味着其他进程向您发送了信号9,即SIGKILL。 也就是说,另一个脚本杀死了你的脚本,这就是它的样子。
137=128+9, which means some other process has sent you a signal 9, which is SIGKILL. I.e. the other script kills yours, that's what it looks like.
我刚刚在启动 python 脚本时遇到了相同的退出代码 137。
结果是 OOM 杀手介入,向 python 解释器发送 SIGKILL。
如果是同样的原因,你可以在 /var/log/messages 中找到 oom msgs
I just ran into the same exit code 137 when launching a python script.
It turns out to be the OOM killer kicking in, sending SIGKILL to python interpreter.
If it's the same cause, you can find oom msgs in /var/log/messages
我从 ANT 脚本中得到了相同的错误代码 137。 查看 /var/log/messages,我知道这是内存不足错误。
I got the same error code 137 from an ANT script. Looking at /var/log/messages, I understand it's out of memory error.
我怀疑退出警告是由调用 perl 程序的 shell 打印出来的,而不是由 perl 程序本身打印出来的,因此 perl 代码中的“无警告”对您没有帮助。 退出代码 137 意味着它被 SIGKILL 信号杀死。
I suspect the exit warning is printed out by the shell which called the perl program, not by the perl program itself, so "no warnings" in the perl code won't help you. exit code 137 means it was killed with a SIGKILL signal.