首页 > 学院 > 开发设计 > 正文

判断当前程序是否正在运行

2019-11-18 15:36:05
字体:
来源:转载
供稿:网友


 /**
* 通过文件锁来判定程序是否正在运行
* @return 假如正在运行返回true,否则返回false
*/
PRivate static boolean isRunning()
{
    boolean rv=false;
    try {

        //
        String os_name=System.getProperty("os.name");
        //指定文件锁路径
        String path=null;
        if(os_name.indexOf("Windows")>-1)
        {
            //假如是Windows操作系统
            path=System.getProperty("user.home")+System.getProperty("file.separator");
        }
        else
        {
            path="/usr/temp/";
        }
        File dir=new File(path);
        if(!dir.exists())
        {
            dir.mkdirs();
        }
        //程序名称
        String applicationName="sms";
        RandomaccessFile fis = new RandomAccessFile(path+applicationName+".lock","rw");
        FileChannel lockfc = fis.getChannel();
        FileLock flock = lockfc.tryLock();
        if(flock == null) {
            System.out.println("程序正在运行.");
            rv=true;
        }
    } catch (FileNotFoundException e1) {
        e1.printStackTrace();
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    return rv;
}

进入讨论组讨论。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表