Unique instance de programme Java sans socket

Contenu du snippet

package perso.device.system;
//Import needed packages
import java.io.File;
import java.io.IOException;
import java.security.AccessController;
import sun.security.action.GetPropertyAction;
/**
 * <p>Title : UtilitiesSystem</p>
 * <p>Description : Class device for System</p>
 * <p>Copyright : Copyright (c) 2007</p>
 * <p>Society : Perso</p>
 * @author Indiana_jules
 * @version 1.0
 */
public class UtilitiesSystem {
    /**Method detecting if an instance of a program is running
     * @param name Program's name
     * @return Return the state
     * @throws IOException Input/Output error
     */
    public static synchronized Boolean isSingletonProgram(String name) throws IOException {
        Boolean statut = true;
        GetPropertyAction a = new GetPropertyAction("java.io.tmpdir");
        String tmpdir = ((String) AccessController.doPrivileged(a));
        
        File temporaryFile = new File(tmpdir + "/" + name +".tmp");
        statut = !temporaryFile.exists();
        
        if(statut){
            temporaryFile.createNewFile();
            temporaryFile.deleteOnExit();
        }
        
        return statut;
    }
}


Compatibilité : Java

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.