Re: Procesos defunct y como evitarlos
El 06/07/11 16:42, ZorroPlateado escribió: On Miércoles, 6 de Julio de 2011 08:59:36 Juan Antonio escribió: 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. Al ejecutar la tarea a mano no hay problemas con la parada/inicio. Vamos que todo la parrafada viene desde cron. He enviado señal al proceso zombie, que están en estado Zs, es decir el script de backup, y no admite ningun kill, solo termina tras finalizar el proceso alfresco. La situacion de los procesos en cuestion tras ejecutar parada/inicio es ( en este caso he creado un script que solo realice la parada/inicio de alfresco llamado inicio-parada-alfresco.sh que aparece como defunct): root 19222 0.0 0.0 3564 988 ?Ss May01 0:08 /usr/sbin/cron root 18899 0.0 0.0 3908 944 ?S16:29 0:00 \_ /USR/SBIN/CRON root 18900 0.0 0.0 0 0 ?Zs 16:29 0:00 \_ [inicio-parada-a] defunct 104 18913 0.0 0.0 6124 1580 ?S16:29 0:00 \_ /usr/sbin/sendmail -i -FCronDaemon -oem root root 18914 168 13.4 1393024 278916 ? Sl 16:29 2:27 /usr/lib/jvm/java-1.5.0-sun//bin/java -Xms512m -Xmx1024m -server -XX:CompileCommand=exclude,org/apache/lucene/index/IndexReader$1,doBody -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo$Merger,mergeIndexes -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo$Merger,mergeDeletions -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/mnt/almacen/alfresco/tomcat/conf/logging.properties -Djava.endorsed.dirs=/mnt/almacen/alfresco/tomcat/common/endorsed -classpath :/mnt/almacen/alfresco/tomcat/bin/bootstrap.jar:/mnt/almacen/alfresco/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/mnt/almacen/alfresco/tomcat -Dcatalina.home=/mnt/almacen/alfresco/tomcat -Djava.io.tmpdir=/mnt/almacen/alfresco/tomcat/temp org.apache.catalina.startup.Bootstrap start root 18916 0.0 0.0 3992 1236 ?S16:29 0:00 /bin/sh /usr/bin/soffice -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager -nologo -headless -nofirststartwizard root 18936 0.3 1.1 128440 23700 ?Sl 16:29 0:00 \_ /usr/lib/openoffice/program/soffice.bin
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. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e1407d8.3010...@limbo.ari.es
Re: Procesos defunct y como evitarlos
On Miércoles, 6 de Julio de 2011 08:59:36 Juan Antonio escribió: 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. Al ejecutar la tarea a mano no hay problemas con la parada/inicio. Vamos que todo la parrafada viene desde cron. He enviado señal al proceso zombie, que están en estado Zs, es decir el script de backup, y no admite ningun kill, solo termina tras finalizar el proceso alfresco. La situacion de los procesos en cuestion tras ejecutar parada/inicio es ( en este caso he creado un script que solo realice la parada/inicio de alfresco llamado inicio-parada-alfresco.sh que aparece como defunct): root 19222 0.0 0.0 3564 988 ?Ss May01 0:08 /usr/sbin/cron root 18899 0.0 0.0 3908 944 ?S16:29 0:00 \_ /USR/SBIN/CRON root 18900 0.0 0.0 0 0 ?Zs 16:29 0:00 \_ [inicio-parada-a] defunct 104 18913 0.0 0.0 6124 1580 ?S16:29 0:00 \_ /usr/sbin/sendmail -i -FCronDaemon -oem root root 18914 168 13.4 1393024 278916 ? Sl 16:29 2:27 /usr/lib/jvm/java-1.5.0-sun//bin/java -Xms512m -Xmx1024m -server -XX:CompileCommand=exclude,org/apache/lucene/index/IndexReader$1,doBody -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo$Merger,mergeIndexes -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo$Merger,mergeDeletions -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/mnt/almacen/alfresco/tomcat/conf/logging.properties -Djava.endorsed.dirs=/mnt/almacen/alfresco/tomcat/common/endorsed -classpath :/mnt/almacen/alfresco/tomcat/bin/bootstrap.jar:/mnt/almacen/alfresco/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/mnt/almacen/alfresco/tomcat -Dcatalina.home=/mnt/almacen/alfresco/tomcat -Djava.io.tmpdir=/mnt/almacen/alfresco/tomcat/temp org.apache.catalina.startup.Bootstrap start root 18916 0.0 0.0 3992 1236 ?S16:29 0:00 /bin/sh /usr/bin/soffice -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager -nologo -headless -nofirststartwizard root 18936 0.3 1.1 128440 23700 ?Sl 16:29 0:00 \_ /usr/lib/openoffice/program/soffice.bin
Re: Procesos defunct y como evitarlos
El 05/07/11 11:41, ZorroPlateado 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? Hola, si no recuerdo mal los procesos defunc son procesos que han terminado y cuyo padre no ha capturado la salida del mismo, lo que devuelve return o exit se entiende, y el único recurso que consume es una entrada en la tabla de procesos y por lo tanto un id. Para quitarlos definitivamente tienes que matar el proceso padre, de modo que init se haga cargo del mismo y capture SIGCHLD dando puerta al proceso. ¿Podrías pegar la salida de ps auxf relativa al proceso y sus antepasados cuando el proceso este en ese estado? Quiza asi veamos claramente de que depende y como podrías deshacerte de él, seguramente reiniciando el servicio que lo lanza. Un saludo. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e12e0c0.8030...@limbo.ari.es
Re: Procesos defunct y como evitarlos
2011/7/5 ZorroPlateado i32lelor.deb...@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? quizás poniendo este script en el init.d ... /mnt/almacen/alfresco/alfresco.sh start -- Marc
Re: Procesos defunct y como evitarlos
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Marc Aymerich escribió: 2011/7/5 ZorroPlateado i32lelor.deb...@gmail.com mailto:i32lelor.deb...@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. - -- Si los tontos volaran, el cielo se oscurecería No me envié correos en formatos propietarios http://www.gnu.org/philosophy/no-word-attachments.es.html -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOEuu7AAoJEOWNzQnqy+fzRRQH+wVS9h8bWE/ikiBmoNmLCWJp v3881hv9JUN7gOETzDQHOdGCpEy0XV4IWCJj/cf0YAAY1vExJdlK3/hpdspTJZ24 hm8M8qpctMKr1oodEr7luL2+vvldnL1zJOxdjHbIaEmqRF2VXQ7KRXomFbkxOJeF dCGp+wlobAh9AyZClzJgjZ7pg2juw3zU7cl/qErDrwLTjHlK/OQXSBJVvYOotSQS x4gaSXGQZS1EM17LtTaD2jtNB5/pY3H3DFOc/Ti2HqQL4eRqsEYBClWRk0SJEPjA jSxhAms2Jc4OVge2qz4erimfh7zXw40wkEgVuvMMDsvFvOk7hwKf7Fwtk4YZYlk= =y3LH -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/blu0-smtp77339f1a8061d17b366f95b1...@phx.gbl
Re: Procesos defunct y como evitarlos
jmramirez (mas_ke_na) writes: 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/ También se puede usar el comando `killall' en lugar del script. -- Alberto -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87r565ezwk@eps142.cdf.udc.es
Re: Procesos defunct y como evitarlos
El día 5 de julio de 2011 12:47, jmramirez (mas_ke_na) mas_ke...@hotmail.com escribió: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Marc Aymerich escribió: 2011/7/5 ZorroPlateado i32lelor.deb...@gmail.com mailto:i32lelor.deb...@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. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAGw=rHixS_6fGUs_KxcCVc9BjBvtqzmb7ZEjoo-=RaD=vzs...@mail.gmail.com
Re: Procesos defunct y como evitarlos
El 05/07/11 14:08, fernando sainz escribió: El día 5 de julio de 2011 12:47, jmramirez (mas_ke_na) mas_ke...@hotmail.com escribió: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Marc Aymerich escribió: 2011/7/5 ZorroPlateado i32lelor.deb...@gmail.com mailto:i32lelor.deb...@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. Bueno, siempre puedes hacer una maña como poner al final del script ps -e -ostat,ppid,pid,cmd | grep '^Z' | awk '{print $2}' | xargs kill -HUP me parece mas fácil y sobre todo mas límpio que el script de la web que han sugerido, al enviarle SIGHUP en vez de SIGKILL -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e1300da.9010...@limbo.ari.es
Re: Procesos defunct y como evitarlos
El día 5 de julio de 2011 12:47, jmramirez (mas_ke_na) mas_ke...@hotmail.com escribió: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Marc Aymerich escribió: 2011/7/5 ZorroPlateado i32lelor.deb...@gmail.com mailto:i32lelor.deb...@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. - -- Si los tontos volaran, el cielo se oscurecería No me envié correos en formatos propietarios http://www.gnu.org/philosophy/no-word-attachments.es.html -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOEuu7AAoJEOWNzQnqy+fzRRQH+wVS9h8bWE/ikiBmoNmLCWJp v3881hv9JUN7gOETzDQHOdGCpEy0XV4IWCJj/cf0YAAY1vExJdlK3/hpdspTJZ24 hm8M8qpctMKr1oodEr7luL2+vvldnL1zJOxdjHbIaEmqRF2VXQ7KRXomFbkxOJeF dCGp+wlobAh9AyZClzJgjZ7pg2juw3zU7cl/qErDrwLTjHlK/OQXSBJVvYOotSQS x4gaSXGQZS1EM17LtTaD2jtNB5/pY3H3DFOc/Ti2HqQL4eRqsEYBClWRk0SJEPjA jSxhAms2Jc4OVge2qz4erimfh7zXw40wkEgVuvMMDsvFvOk7hwKf7Fwtk4YZYlk= =y3LH -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/blu0-smtp77339f1a8061d17b366f95b1...@phx.gbl Hola a todos, Cuanto honor que se cite mi web en el foro :-) Ese script lo usábamos en mi primer trabajo (hace ahora 10 años mas o menos) en maquinas solaris, creo que usábamos esto por que no estaba el killall. No recuerdo ahora bien... Pienso que lo mas correcto seria averiguar por que se quedan defuncts por ahí bailando. Marc, ¿Podemos ver el script de backup? Salu2 -- Mi nueva dirección es: - My new email address is: - Mon nouveau email est: j...@elsotanillo.net Usuario Linux Registrado: #257202 http://www.elsotanillo.net -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CABS=y9tcXpViQTqTFTvikSWzEZxO1Qt6gXLU3-=v66rdmdh...@mail.gmail.com
Re: Procesos defunct y como evitarlos
El 05/07/11 14:17, Juan Antonio escribió: El 05/07/11 14:08, fernando sainz escribió: El día 5 de julio de 2011 12:47, jmramirez (mas_ke_na) mas_ke...@hotmail.com escribió: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Marc Aymerich escribió: 2011/7/5 ZorroPlateado i32lelor.deb...@gmail.com mailto:i32lelor.deb...@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. Bueno, siempre puedes hacer una maña como poner al final del script ps -e -ostat,ppid,pid,cmd | grep '^Z' | awk '{print $2}' | xargs kill -HUP me parece mas fácil y sobre todo mas límpio que el script de la web que han sugerido, al enviarle SIGHUP en vez de SIGKILL Corrijo ps -e -ostat,ppid,pid,cmd | grep '^Z' | awk '{print $2}' | xargs kill -HUP por ps -e -ostat,ppid,pid,cmd | awk '/^Z/ {print $2}' | xargs kill -HUP el clásico error de cat | grep Un saludo. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e130323.3010...@limbo.ari.es
Re: Procesos defunct y como evitarlos
On Martes, 5 de Julio de 2011 14:20:16 Juan Sierra Pons escribió: El día 5 de julio de 2011 12:47, jmramirez (mas_ke_na) mas_ke...@hotmail.com escribió: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Marc Aymerich escribió: 2011/7/5 ZorroPlateado i32lelor.deb...@gmail.com mailto:i32lelor.deb...@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. - -- Si los tontos volaran, el cielo se oscurecería No me envié correos en formatos propietarios http://www.gnu.org/philosophy/no-word-attachments.es.html -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOEuu7AAoJEOWNzQnqy+fzRRQH+wVS9h8bWE/ikiBmoNmLCWJp v3881hv9JUN7gOETzDQHOdGCpEy0XV4IWCJj/cf0YAAY1vExJdlK3/hpdspTJZ24 hm8M8qpctMKr1oodEr7luL2+vvldnL1zJOxdjHbIaEmqRF2VXQ7KRXomFbkxOJeF dCGp+wlobAh9AyZClzJgjZ7pg2juw3zU7cl/qErDrwLTjHlK/OQXSBJVvYOotSQS x4gaSXGQZS1EM17LtTaD2jtNB5/pY3H3DFOc/Ti2HqQL4eRqsEYBClWRk0SJEPjA jSxhAms2Jc4OVge2qz4erimfh7zXw40wkEgVuvMMDsvFvOk7hwKf7Fwtk4YZYlk= =y3LH -END PGP SIGNATURE- -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/blu0-smtp77339f1a8061d17b366f95b1...@phx.gbl Hola a todos, Cuanto honor que se cite mi web en el foro :-) Ese script lo usábamos en mi primer trabajo (hace ahora 10 años mas o menos) en maquinas solaris, creo que usábamos esto por que no estaba el killall. No recuerdo ahora bien... Pienso que lo mas correcto seria averiguar por que se quedan defuncts por ahí bailando. Marc, ¿Podemos ver el script de backup? Salu2 Como ya dije, el script de backup realiza las llamadas a siguiente sscripts, el problema estaria el script catalina.sh de alfresco, solo cuando termina dicho proceso el defunc del script padre osea el del backup termina. Y lo que me gustaria es poder hacer una llamada a un script y que se desligara del proceso padre, como cuando ejecutamos en consola un comando con nohup y salimos del sistema, el proceso pasa a tener como padre a init. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/201107051652.14503.i32lelor.deb...@gmail.com
Re: Procesos defunct y como evitarlos
El Tue, 05 Jul 2011 11:41:26 +0200, ZorroPlateado escribió: (...) 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. Hum... a ver si lo he entendido. - El proceso de backup inicia alfresco que a su vez inicia catalina. - Backup sería entonces el proceso padre de estos dos. - Pero un proceso padre no puede quedar como defunct, ¿no? :-? 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. Creo que sería conveniente que enviaras la salida de ps auxf como te comenta Juan Antonio para que sea claramente quién está muerto :-) 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? Lo ideal sería que el script de backup notificara su cierre debidamente al programa padre para que no quedara como zombie. Saludos, -- Camaleón -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/pan.2011.07.05.15.13...@gmail.com
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] -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/201107060014.15738.i32lelor.deb...@gmail.com