programm nur einmal startbar

S

Schnippo

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
 
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
 
Zurück