想让一个java程序在一台机器上只能执行一个,该怎么办? 我用java写了一个桌面工具,现在我想让这个工具在一台机器上只有一个在执行,也就是说当工具在执行的时候,我再点击那个执行文件是没有效果的(即不会出现同样的工具开始执行) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 回复人:cheng_young(古道西风瘦马) ( 二级(初级)) 信誉:100 2006-04-18 21:41:00 得分:0? 一个比较简单的方法是程序启动后,生成一个文件,表示已经启动再次启动时,在程序中检测该文件,如果已经存在,退出------------------------------感觉上这种方法不可取的。万一程序意外中止呢?!而用来做标识的文件又没有被处理,那再次运行程序的时候就会出问题了。如果要取得PID之类的可能要用到JIN,但如果用JNI的话就没有必要取得PID了,你可以通过调用WIN32 API创建互斥对象来实现单例运行(这方面的,google一下就很多了) 回复人:bonwei(阿邦) ( 二级(初级)) 信誉:100 2006-04-18 22:01:00 得分:0? 监听socket---------------------------通过Socket打开端口来作为互斥信号也是不错的啊学了一招!不过在初次安装程序的时候要检测这个端口是否已经被占用哦。。 swing子界面关闭 父界面如何捕获? 关于length这个方法 关于堆和栈存放数据的疑惑..... 求一myeclipse6.5下反编译工具 PrintWriter.close()不调用会泄露资源吗? bao110908 请教问题 可以运行javaBean,却不能运行servlet,请高手指点 给一个long型的值1100101011110011,把它分解成4部分,并返回总和,1100+1010+1111+0011 十分感谢! tcp 仿真 这个异常是什么意思? socket 长连接怎么写 java库中的List类怎么用?
?
一个比较简单的方法是
程序启动后,生成一个文件,表示已经启动
再次启动时,在程序中检测该文件,如果已经存在,退出
------------------------------
感觉上这种方法不可取的。万一程序意外中止呢?!而用来做标识的文件又没有被处理,那再次运行程序的时候就会出问题了。
如果要取得PID之类的可能要用到JIN,但如果用JNI的话就没有必要取得PID了,你可以通过调用WIN32 API创建互斥对象来实现单例运行(这方面的,google一下就很多了)
?
监听socket
---------------------------
通过Socket打开端口来作为互斥信号也是不错的啊学了一招!
不过在初次安装程序的时候要检测这个端口是否已经被占用哦。。