Re: Procesos defunct y como evitarlos
El día 5 de julio de 2011 12:47, jmramirez (mas_ke_na)
<mas_ke_na@hotmail.com> escribió:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Marc Aymerich escribió:
>>
>>
>> 2011/7/5 ZorroPlateado <i32lelor.debian@gmail.com
>> <mailto:i32lelor.debian@gmail.com>>
>>
>> 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?
> Buenas
>
> Justo ayer lei un post [1] sobre algo parecido que lo mismo te puede
> valer, basicamente es poner en tu script la llamada a este con el nombre
> del proceso. Creo que es un apaño que te puede valer, aunque lo suyo
> seria saber porque se queda zombie e intentar solucionarlo.
>
> [1] http://www.elsotanillo.net/content/view/50/1/lang,es/
>
> Un saludo y espero que sirva este apaño.
>
> PD: La web es de alguien de la lista (no recuerdo quien), lo mismo te
> puede aportar mas datos.
Como ya te han contestado ya existe un programa "mataprocesos"
killall, pero aquí están hablando de procesos zombie, que ya no se
están ejecutando y no consumen recursos.
Se producen cuando no se captura la señal de muerte de los hijos y la
forma de arreglarlo es haciendo bien los programas.. :-)
Saludos.
Reply to: