http://d.hatena.ne.jp/vuchi/20090624/1245833728
http://okwave.jp/qa/q2030088.html
個人的にはTCP/IP でやる方法が好きだけど簡単にやるには、
ローカルにロックファイルを作る方法が良い。
1 |
import java.io.File; import java.io.FileOutputStream; import java.nio.channels.FileChannel; import java.nio.channels.FileLock; public class Sample { public static void main(String[] args) { //起動チェック final FileOutputStream fos = new FileOutputStream(new File("lock")); final FileChannel fc = fos.getChannel(); final FileLock lock = fc.tryLock(); if (lock == null) { //既に起動されているので終了する return; } //ロック開放処理を登録 Runtime.getRuntime().addShutdownHook( new Thread() { public void run() { if (lock != null && lock.isValid()) { lock.release(); } fc.close(); fos.close(); } } ); //処理を続行 } } |
[カテゴリ: プログラミング言語 > Java]
[通知用URL]
Tweet
最終更新時間:2013年04月05日 23時21分05秒