Re: Procesos defunct y como evitarlos
El 06/07/11 00:14, ZorroPlateado escribió:
> On Martes, 5 de Julio de 2011 11:41:26 usted escribió:
>> Tengo en Debian una instalación de Alfresco, el caso es que tengo un script
>> para backups ejecutado desde cron, este script de backup para Mysql y
>> Alfresco y luego copia sus archivos, posteriormente inicia los dos
>> servicios.
>>
>> El caso es que el orden de los scripts bash ejecutados es el siguiente:
>>
>> /etc/init.d/alfresco start
>>
>>
>> ===> /mnt/almacen/alfresco/alfresco.sh start
>>
>>
>> ===> /mnt/almacen/alfresco/tomcat/bin/catalina.sh
>>
>>
>> Pues bien el script backup usar /etc/init.d/alfresco/ start|stop . Y en
>> alfresco.sh encontramos un `nohup catalina.sh`.
>>
>> El script de backup se ejecuta entero y alfresco es inciado sin problemas,
>> recibo el email del cron con toda la ejecución. El problema está en que el
>> proceso de backup aparece como defunct ya que es padre del proceso java de
>> alfresco que hasta que no termine no cierra el proceso de backup.
>>
>> He lido que el proceso defunc no consume recursos y solo existe mientras el
>> proceso hijo no termine, con lo cual no deberia de ser ningun problema.
>>
>> Pero pregunto, ¿se puede hacer que en la llamada al script catalina.sh su
>> proceso padre sea por ejemplo init y de este modo el backup termine?
>
> Me he puesto a revisar el contenido del script catalina.sh que acompaña a
> alfresco y veo que lanza el proceso java con sus parametros haciendo uso de
> "exec" con lo que ello implica segun el manual de bash....
>
> Por cierto el proceso defunct es el script inicial llamado desde cron, aqui
> una lista del estado de procesos:
>
> root 2872 1 0 21:08 ? 00:00:00 /bin/sh /usr/bin/soffice -
> accept=socket,host=localhost,port=8100;urp;StarOffic
>
> root 2923 1 1 21:08 ? 00:01:14 /usr/lib/jvm/java-1.5.0-
> sun/jre//bin/java -Djava.util.logging.manager=org.apac
>
> root 2949 2872 0 21:08 ? 00:00:00
> /usr/lib/openoffice/program/soffice.bin -accept=socket,host=localhost,port=810
>
> root 19222 1 0 May01 ? 00:00:08 /usr/sbin/cron
>
> root 20110 2 0 02:05 ? 00:00:03 [pdflush]
>
> root 32583 19222 0 20:24 ? 00:00:00 /USR/SBIN/CRON
> root 32584 32583 0 20:24 ? 00:00:00 [backup-diferenc] <defunct>
> 104 32587 32583 0 20:24 ? 00:00:00 /usr/sbin/sendmail -i -
> FCronDaemon -oem root
> root 32719 2 0 20:24 ? 00:00:07 [pdflush]
>
>
Hola,
si ejecutas la tarea a mano, igual que la lanza cron ¿Se queda en el
mismo estado? Prueba a lanzarla con sh -x y si la salida no es demasiado
extensa envíala en un correo.
Estando el proceso zombie, prueba a enviarle un SIGHUP a cron, a ver que
hace.
Un saludo.
Reply to: