Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Ikku en 17 Febrero 2012, 20:54 pm



Título: única instancia de programa en windows
Publicado por: Ikku en 17 Febrero 2012, 20:54 pm
Hola,

Pues el caso es que trabajo con una aplicación que corre en una máquina windows y ejecuta un .cmd.

Este cmd lanza un proceso que llamaremos proceso.exe, el caso es que este proceso no puede ejecutarse mas de una vez, ya que utilizaría datos que esta consumiendo el otro.

La pregunta es, ¿Como puedo hacer para que se excluyan mutuamente? Hay alguna forma de hacer mediante semaforos en windows?

El caso es que quiero sólo una única instancia de proceso.exe corriendo en un instante de tiempo, si existe otra, no empiece a correr hasta que no acabe la primera

¿Se os ocurre alguna solución?


Título: Re: única instancia de programa en windows
Publicado por: RyogiShiki en 17 Febrero 2012, 21:07 pm
Revisa el patrón Singleton

http://en.wikipedia.org/wiki/Singleton_pattern
http://www.dofactory.com/Patterns/PatternSingleton.aspx

Saludos


Título: Re: única instancia de programa en windows
Publicado por: Ikku en 18 Febrero 2012, 19:35 pm
Si, lo conozco, para nuevos desarrollos es lo ideal y es como debería estar, pero el código está hecho y de momento no nos van a dejar tocarlo.

El tema era si había algo a nivel del sistema operativo para poder controlarlo.