2009-06-24 21 views
31

¿Hay alguna forma de eliminar una advertencia (código de salida 137) en Perl? Estoy ejecutando un script de Perl en Linux dentro de otro script de shell. Este script de Perl sale con un código de advertencia y de salida 137. No pude identificar qué es lo que significa el código de salida 137.¿Por qué mi script Perl sale con 137?

¿Cuál es la mejor manera de evitar esta advertencia? Intenté "sin advertencias" en el script y también obtuve una salida 0 al final de mi script de Perl.

+1

¿Dónde termina su script? ¿De verdad ves una advertencia? –

+2

Podría ser útil publicar el fragmento relevante de código. – Telemachus

+0

No estoy seguro de cómo sale el guión. Parece hacer su trabajo muy bien (ya que mi salida es correcta) pero sale con 137. Hago un eco $ status para ver el código de salida. –

Respuesta

57

137 = 128 + 9, lo que significa que algún otro proceso le ha enviado una señal 9, que es SIGKILL. Es decir. el otro script mata al tuyo, así es como se ve.

+0

No del todo porque ejecutar el script de forma independiente también lo escupe 137. Gracias. –

+11

También es posible que se envíe la señal. –

+2

Es el proceso Oomkiller que lo está matando, no el otro script. – Christy

4

Sospecho que la advertencia de salida está impresa por el intérprete de comandos que llamó al programa perl, no por el programa perl, por lo que "no hay advertencias" en el código perl no lo ayudará. el código de salida 137 significa que fue asesinado con una señal SIGKILL.

40

Acabo de encontrar el mismo código de salida 137 al iniciar una secuencia de comandos python. Resulta ser el asesino de OOM pateando, enviando SIGKILL al intérprete de Python. Si es la misma causa, puede encontrar mensajes de OOM en/var/log/messages

+3

Guau, su respuesta probablemente me ahorró horas tratando de descubrir qué estaba pasando, ¡gracias! –

6

Obtuve el mismo código de error 137 de un script de ANT. Al mirar/var/log/messages, entiendo que es un error de memoria.

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 
Cuestiones relacionadas