El trabajo iniciado desde cron fue asesinado

El trabajo iniciado desde cron fue asesinado

Comencé un proceso java desde un trabajo cron usando este comando

Esta es mi entrada cron

* * * * * sh /tmp/runScript.sh

El propósito de runScript.sh es aplicar algo de lógica e iniciar un proceso java.

./runJavaProcess.sh >> java_process.out 2>&1

El trabajo se elimina automáticamente sin ninguna entrada en java_process.out o en los registros de Java. No puedo ver nada en elkern.logo/var/log/mensajeso/var/log/mensajesrelacionado con cómo se mató el proceso.

Puedo ver que el proceso está comenzando bien, pero después de unos minutos/horas se mata sin ningún rastro de por qué o cómo se mató. ¿Hay alguna manera de averiguar la razón por la cual se canceló el proceso?

Estoy ejecutando CentOS Linux versión 7.3.1611 (Core).

Respuesta1

Eso java_process.outpodría existir en su directorio personal, es decir ~/java_process.out. Su secuencia de comandos solo tiene el nombre del archivo y cronse ejecutará en su directorio de inicio. Agregar la ruta podría ayudar.

Respuesta2

  1. Deberías comprobarlo /var/log/cron, no /var/log/messagespara obtener una idea de lo que pasó.
  2. Le sugiero que edite su entrada crontab como se muestra a continuación para obtener el resultado de lo que sucede durante la ejecución.

    * * * * * sh /tmp/runScript.sh 2>&1 /tmp/insight.log
    
  3. Es posible que su runJavaProcess.shsecuencia de comandos necesite algunas variables de entorno para ejecutarse y, a menos que las obtenga en la línea crontab (o en sus secuencias de comandos) como se muestra a continuación, no las encontrará:

    * * * * *  . $HOME/.bash_profile; sh /tmp/runScript.sh 2>&1 /tmp/insight.log
    

Respuesta3

Encontré la causa raíz. Hubo un error de segmentación en el proceso de Java. El registro de errores se creó en el directorio /root/.

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f11f1b980e5, pid=22395, tid=0x00007f11b39be700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_112-b15) (build 1.8.0_112-b15)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.112-b15 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J 8563 C2 java.nio.DirectByteBuffer.getLong(I)J (16 bytes) @ 0x00007f11f1b980e5 [0x00007f11f1b980a0+0x45]
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x00007f12023f72a0):  JavaThread "BatchlogTasks:1" daemon [_thread_in_Java, id=23777, stack(0x00007f11b397e000,0x00007f11b39bf000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x000000000fd68aae

información relacionada