48

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.

brian d foy
  • 129,424
  • 31
  • 207
  • 592
Bi.
  • 1,846
  • 8
  • 25
  • 34
  • 1
    Where does your script exit? Do you actually see a warning? – brian d foy Jun 24 '09 at 22:16
  • 2
    It might help to post the relevant chunk of code. – Telemachus Jun 24 '09 at 22:20
  • I am not sure how to figure out where the script exits. It seems to do its job really well (as my output is right) but exits with 137. I do a echo $status to see the exit code. – Bi. Jun 24 '09 at 22:20
  • 1
    You are going to have to at the very least show the part of your shell script that invokes the perl script and show the "warning" that is output if you want people to be able to help you. (Just edit your question and add those things to it.) – ysth Jun 25 '09 at 00:15
  • Possible duplicate of [What does 'killed' mean?](https://stackoverflow.com/questions/19189522/what-does-killed-mean) – kenorb Apr 03 '19 at 16:50

4 Answers4

80

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.

Igor Krivokon
  • 10,145
  • 1
  • 37
  • 41
53

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

Wenjun
  • 531
  • 4
  • 2
9

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
Shawn Chin
  • 84,080
  • 19
  • 162
  • 191
Shyam
  • 91
  • 1
  • 1
5

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.

Balázs Pozsár
  • 1,679
  • 14
  • 11