Почему мой скрипт Perl завершается с 137? - PullRequest
41 голосов
/ 25 июня 2009

Есть ли способ устранить предупреждение (код выхода 137) в perl? Я запускаю Perl-скрипт на Linux внутри другого сценария оболочки. Этот сценарий Perl завершается с кодом предупреждения и выхода 137. Я не смог точно определить, что означает код выхода 137.

Каков наилучший способ избежать этого предупреждения? Я попытался «без предупреждений» в сценарии, и у меня также есть выход 0 в конце моего сценария Perl.

Ответы [ 4 ]

72 голосов
/ 25 июня 2009

137 = 128 + 9, что означает, что какой-то другой процесс отправил вам сигнал 9, то есть SIGKILL. То есть другой сценарий убивает ваш, вот так он выглядит.

48 голосов
/ 18 августа 2010

Я только что столкнулся с тем же кодом выхода 137 при запуске скрипта Python. Оказывается, это убийца OOM, отправляющий SIGKILL интерпретатору python. Если это та же причина, вы можете найти сообщения в / var / log / messages

8 голосов
/ 21 июня 2012

Я получил тот же код ошибки 137 из сценария ANT. Глядя на / 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
4 голосов
/ 25 июня 2009

Я подозреваю, что предупреждение о выходе выводится оболочкой, которая вызвала программу perl, а не самой программой perl, поэтому «никакие предупреждения» в коде perl вам не помогут. код выхода 137 означает, что он был убит сигналом SIGKILL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...