Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Como evitar 2 instancias de mi programa (https://www.clubdelphi.com/foros/showthread.php?t=35712)

pcicom 19-09-2006 06:02:04

Como evitar 2 instancias de mi programa(Linux)
 
Estoy desarrollando un APP en LINUX con freepascal y necesito evitar la ejecucion de mi programa en mas de una instancia...

es decir que solo se pueda ajecutar una vez y la siguiente no se ejecute...

si alguien conoce una rutina y/o la forma de como hacerlo, agradecere me expliquen que funciones utilizar...

Pascalizado 01-10-2006 21:13:16

Cuando se inicia una instancia que guarde un archivo temporal por ejemplo en el directorio "/ tmp", con el numero de PID del proceso dentro de este archivo, entonces cuando ejecutas la segunda instancia esta debe verificar que el archivo exista y que el numero PID que este almaceno este activo si esto es afirmativo el programa se cerrara. Puedes utilizar el componente Tprocess para facilitarte la obtencion del PID y demas.

Aunque tiene una contra: si el programa se cuelga no borrara el archivo al salir y si al ejecutarlo devuelta puede que el PID que esta almacenado en el archivo este activo debido a que lo tiene otro proceso.

Bueno espero haberme explicado bien y que te haya servido. Saludos

Bicho 01-10-2006 21:25:25

Hola, tambien puedes revisar este truco,

o éste hilo

o un poco de todo, de lo que aparece en el buscador del clubdelphi, y te haces una idea aproximada de las alternativas y elijes la que mejor te convenga.

Saludos

Pascalizado 03-10-2006 19:53:45

Hola devuelta, otra que recien se me ocurre es: con el componte TProccess tiras la instruccion PS grep | <Nombre_programa> y te lista todos los procesos con esos nombre y si aparecen mas de dos cierras el programa.

Saludos


La franja horaria es GMT +2. Ahora son las 00:42:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi