Why does my Perl script exit with 137?

不羁的心 提交于 2019-12-17 07:25:39

问题


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.


回答1:


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.




回答2:


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




回答3:


I got the same error code 137 from an ANT script. Looking at /var/log/messages, I understand it's out of memory error.

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



回答4:


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.



来源:https://stackoverflow.com/questions/1041182/why-does-my-perl-script-exit-with-137

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!