|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2008
Città: Roma
Messaggi: 1382
|
Limitare il numero di istanze di un programma
Voglio fare in modo che ci sia in esecuzione una sola istanza del mio programma, e se esso viene avviato ulteriormente, il focus passi all'istanza già in esecuzione.
Il programma utilizza le gtk, è scritto in C, e per ora solo su linux, ma forse lo porterò su altri sistemi. Come posso fare? grazie |
|
|
|
|
#2 |
|
Member
Iscritto dal: Jul 2005
Messaggi: 291
|
La prima puzzonata che mi viene in mente è che all'avvio del programma controlli se esiste o meno un determinato file, se non esiste lo crea e alla chiusura del programma lo cancella, se invece lo trova vuol dire che è stato creato da una precedente istanza non chiusa del programma, quindi si chiude senza far niente altro.
Naturalmente se il programma si chiude in modo non convenzionale (crash per esempio) il file non lo cancella e il sistema salta, se per esempio sai a priori quanto in media il programma sta in esecuzione normalmente potresti scrivere in questo file la data e ora di avvio e così la seconda istanza se vede questo file sa se è un residuo di un crash o se è effettivamente in esecuzione contemporanea un'altra istanza. Un po naive ma in certi casi potrebbe funzionare
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB |
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2007
Messaggi: 250
|
Potresti leggerti il sorgente di qualche programma tipo gnome-system-monitor per capire come costruisce la lista dei processi. Così basterebbe controllare se il tuo programma figura in questa lista.
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:21.


















