判斷當前程式是否正在執行

pingyuan發表於2007-04-09
判斷當前程式是否正在執行( 原創 更新:2007-04-08 09:21:58 版本: 1.0 )[@more@]/**
* 透過檔案鎖來判斷程式是否正在執行
* @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;
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199667/viewspace-909421/,如需轉載,請註明出處,否則將追究法律責任。

相關文章