Java启动当然是进程,一般Exe启动都是进程啦你的功能可以这样,你使用Javaw来启动程序,这样就没有Dos窗口判断有没有之前的运行,可以在你的程序中启动一个ServerSocket来作判断

解决方案 »

  1.   

    这位老兄说的我还有写不懂,每次启动时不能给进程一个名字吗,下次运行是再来看看名字是否有了,如果有就不能启动。但如果这样行不同的话,那想老兄那种ServerSocket怎么来实现啊???
      

  2.   

    你在程序的进入后,new ServerSocket(9876);
    如果能够成功没有异常表示没有之前的程序在运行,否则可以认为已经存在这样的进程
      

  3.   

    要想获得进程,可能调用操作系统的api,这样要复杂的多,像ChDw(米)说的要简单得多了
      

  4.   

    那判断程序是否在运行,除了用Socket就没有别的办法啊???那我把程序的主线程命名,每次启动时我判断主线程是否存在可以吗????我做过C++程序他在创造程序时可以给这个程序起个名字,下次启动根据这个名字可以判断程序是否正在运行。
      

  5.   

    我只是想问一下,如果实现程序跨平台的话,判断程序是否已经在运行,是不是只有用Socket这种方法来判断,没有别的方法了吗???
      

  6.   

    我记得可以让程序只有一个实例的,如果已经有了,就提示已经运行不就结了?
    C++里面的做法java也支持吧,用的着判断进程名称吗?
      

  7.   

    Shell激活进程,进而分配地址空间,加载数据和运行时模块,进入Main()函数....同时主线程产生了。