Hola a todos, Estoy teniendo un problema con un proceso que ejecuto y no se como arreglarlo. Trabajo con Mandrake 9.1. Tengo un programa hecho en C que simplemente va revisando sus entradas por el puerto serie y hace lo que tenga que hacer dependiendo de lo que lea por el puerto... para hacer esto tengo que estar revisando constantemente el puerto, asi que en la funcion principal del programa (main) tengo un bucle que no sale hasta que no pulse "ESC". Hasta aqui no hay problemas porque el programa hace todo lo que tiene que hacer. El problema viene cuando, por ejemplo, llevo una semana trabajando con el, que el programa imprime in "killed" por pantalla y finaliza. Aqui es donde no se que debo hacer exactamente, pues no se como controlarlo. He hecho un "top" para mirar el estado de la memoria y muestra que el programa usa un 62% de CPU y un 40% de MEM. Lo que estoy intentando es hacer un sync cada hora (lo he puesto en el cron) para que cada hora se resincronice la swap, a ver si eso afecta en algo y puede ayudarle a recuperar algo de memoria... Tambien estoy intentando iniciar el proceso con el comando "nice" para darle mas o menos prioridad al proceso, a ver si asi consigo que no consuma tanto... ahora lo he arrancado como "nice -n -19 ./comunicacion" para ver si dandole la maxima prioridad consigo que no consuma tanto. Pero no se si asi esta bien o deberia de darle la menor prioridad... La cuestion es que de momento he revisado el top y ahora, que lleva 1h en marcha, consume 60-63% de CPU y 1.8% de MEM. Pero no se si ira incrementando o con esto lo podre controlar...
Alguien sabe de esto? Cual puede ser una solucion? Lo estoy haciendo bien? Si alguien necesita mas datos o lo que sea, por favor, que me lo pida que gustosa se lo pasare! Muchisimas gracias de antemano!