Re: [問題] 如何讓java執行檔在OS上同時間只能跑一隻
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ※ 引述《scdog (just do it)》之銘言:
: : 請問如何在os上同時間只能跑一隻同樣的java程式
: : 之前我是程式執行時產生temp file,結束後移除temp file
: : 同程式執行時檢查temp file是否存在,
: : 若存在則不執行
: : 可這有個問題
: : 若程式是不正常結束則無法自動移除temp file
: : 不知道各位有無其他的好方法
: : 乾瞎!
: 很久很久以前(好像在講童話故事)
: 在 Javaworld@tw 那裡有看到同樣的話題
: 那裡建議的作法是用 lock 網路卡的一個 port
: (現在很難有電腦沒有網路卡吧 XD)
: 另外就是 hypersonic 這個 database(hsqldb)
: 如果你用 in-process 的 type 啟動 hsqldb
: 那他會產生一個 .lck 的檔案
: 理論上... 程式不正常關閉,下次還是能順利啟動
: 也許你可以去找找看裡頭弄了什麼手腳 XD
我之前參考.net的作法
是程式執行時check os下process name
是否跟程式執行的process name一樣
若一樣則不執行此程式
但我發現java似乎無提供相對的api來使用
乾溫ㄋㄟ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.194.99
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 5 篇):