Si el núcleo eliminó un proceso (porque el sistema se quedó sin memoria), habrá un mensaje de registro del núcleo. Registrarse /var/log/kern.log
(en Debian / Ubuntu, otras distribuciones pueden enviar registros del kernel a un archivo diferente, pero generalmente /var/log
bajo Linux).
Tenga en cuenta que si se activó el OOM-killer (asesino sin memoria), significa que no tiene suficiente memoria virtual. Agregue más intercambio (o quizás más RAM).
Algunos bloqueos del proceso también se registran en los registros del kernel (por ejemplo, fallas de segmentación).
Si los procesos se iniciaron desde cron, debería tener un correo con mensajes de error. Si los procesos se iniciaron desde un shell en una terminal, verifique los errores en esa terminal. Ejecute el proceso screen
para ver la terminal nuevamente en la mañana. Esto podría no ayudar si el OOM-killer se disparó, porque también podría haber matado el proceso cron o pantalla; pero si te topaste con el OOM-killer, ese es el problema que debes solucionar.
/var/log/kern.log
?Contabilidad de procesos podría ayudar aquí.
En breve:
Luego prueba comandos como:
o en Ubuntu:
Ver:
ACTUALIZAR
Curiosamente, el
pacct
archivo tiene información sobre el estado de salida, perolastcomm
nisa
parece imprimirlo.Por lo que puedo ver, tendrías que escribir tu propio programa en C para acceder a la información.
ACTUALIZACIÓN 2
Aquí hay una versión que imprime el código de salida.
Los dos últimos campos son "S" para señalizado y "E" para salir, seguido por el número de señal o el estado de salida.
Entonces, en su caso, probablemente esté buscando "S 15", lo que significa que obtuvo un SIGTERM.
En comparación con "E 0", lo que significa que el proceso salió sin un error.
Solo mínimamente probado.
fuente
Este comando le indicará cuáles son los servicios que se están ejecutando actualmente y cuáles no se han iniciado o detenido.
fuente