Re: Script en cron.d y parar procesos java
El Mon, 16 Jul 2012 22:33:46 +0200, ElRobe escribió:
> El 12/07/12 17:07, Camaleón escribió:
>>> Tengo programado un scrip de backup que lanzo diariamente desde
>>> cron.d, el caso es que cuando se lanza desde allí el script y tiene
>>> que realizar una parada/inico del servicio java siempre queda el
>>> proceso de backup en modo defunct, ejecuta todo correctamente pero no
>>> se cierra el proceso y se queda colgado en modo defunct.
>>>
>>> ¿Alguien sabe al respecto que pasa con los procesos java y porque
>>> ocurre estos al pararlos desde cron.d?
>> Si el script se ejecuta sin problemas manualmente quizá te falte
>> definir alguna variable de entorno, ya sabes que en las tareas
>> ejecutadas desde cron hay que tener cuidado con esto :-?
>>
> Pues no parece ser por las variables
>
> export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun/jre export
> JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/
>
> ya que las he colocado en el propio script.
Hum... prueba a definirlas en el crontab directamente a ver qué pasa.
Otra cosa que puedes hacer es, para comprobar que la tarea se ejecuta con
las variables de entorno correctas, imprimir el valor de esas variables
en algún archivo temporal así descartas definitivamente que el problema
venga de ahí.
> He estado leyendo en google y parece que tiene mas que ver con el fork
> que hace el cron al iniciar el servicio, con la parada no hay error.
Supongo que refieres a esto que comentan por aquí:
http://stackoverflow.com/questions/1506902/why-do-processes-spawned-by-cron-end-up-defunct
Pero entonces no debería afectar sólo a ese script sino a todos los que
se ejecuten desde una tarea de cron ¿no? ¿te pasa con otros? :-?
> El estado de los procesos en el momento del defunct es el siguiente:
>
> root 10527 4078 0 20:05 ? 00:00:00 /USR/SBIN/CRON
> root 10529 10527 0 20:05 ? 00:00:00 [sh] <defunct>
> 104 10531 10527 0 20:05 ? 00:00:00 /usr/sbin/sendmail -i -FCronDaemon -oem root
> root 10577 1 66 20:05 ? 00:02:24 /usr/lib/jvm/java-1.5.0-sun//bin/java -Xms512m -Xmx1024m
>
>
> init─┬─apache2───10*[apache2]
> ├─apcupsd───{apcupsd}
> ├─atd
> ├─cron───cron─┬─sendmail
> │ └─sh
Tiene que haber alguna forma de poder cerrar bien ese proceso. ¿Has buscado en
Google a ver qué se dice/se comenta?
http://bit.ly/LoV8uC
Saludos,
--
Camaleón
Reply to: