[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Procesos defunct y como evitarlos



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]


Reply to: