欲望 发表于 2008-12-30 11:14:58

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

/**
* 通过文件锁来判断程序是否正在运行
* @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;
}
页: [1]
查看完整版本: 判断当前程序是否正在运行