通过文件锁方式判断java程序是否正在运行。 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 = "msserver.bat"; 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; }