# programm nur einmal startbar



## Schnippo (7. Oktober 2004)

Hallo zusammen

 Ich suche nach einer Möglichkeit, wie ich ein mehrfaches starten einer Java Applikation verhindern kann. Das ganze sollte auf Windows und Linux laufen. Es können auch zwei verschiedene Lösungen sein.
 Falls jemand von euch eine Idee hat wie ich das Lösen könnte, bitte ich darum diese hier zu hinterlassen.
 Danke im voraus!

 MfG
 Schnippo


----------



## Thomas Darimont (7. Oktober 2004)

Hallo!

Versuchs dochmal mit einem Lock-File...
in etwa so:
FileOutputStream fos = new FileOutputStream("myLock.file");
FileChannel fc = fos.getChannel();
/* 
FileChannel->tryLock()...
Returns:
    A lock object representing the newly-acquired lock, or null if the lock could not be acquired because another program holds an overlapping lock
*/
FileLock lock = fc.tryLock();
if(fc != null){
   // Wir sind der erste Aufrufer dieser Programmsequenz...-> Wir "beherschen die Sperrdatei...
   ....
}else {
  // Die Sperrdatei wird noch genutzt...
}

Eine andere Alternative wäre es einen Socket auf einem bestimmten Port laufen zu lassen und dann bei Programmstart zu pruefen, ob der Port schon an einen Socket6 gebunden ist oder nicht...

//btw. Sch**ss Finnische Tastaturbelegung...

HTH
Gruss Tom


----------



## Christian Fein (7. Oktober 2004)

Thomas Darimont hat gesagt.:
			
		

> //btw. Sch**ss Finnische Tastaturbelegung...



?

Schiess los was willst du mit einer finnischen Tastartur?


----------

