u011461064
noMathNoPain
2015-07-28 13:48
采纳率: 78.3%
浏览 7.4k
已采纳

怎么判断一个java程序是否在运行?感激不尽

在写一个程序需要用到这个判断 。然而Runtime.getRuntime().exec(String s)检索进程树的方法 只能检测到exe进程 而我看了一下 java程序运行时 任务管理器中始终只有一个javaw.exe 这样就无法区别是那一个java程序在运行。不知还有别的办法能解决这个问题不,感激不尽!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • breathsounds
    skylight 2015-07-28 14:11
    已采纳

    运行开始的时候创建个临时文件,运行结束删除,判断文件是否存在确定程序运行!

    点赞 评论
  • caozhy

    那个程序是不是你写的,如果是,那么可以在里面定义一个互斥量。你的程序可以读取到它,判断是否已经运行。

    点赞 评论
  • tongyi55555
    JonsonJiao 2015-07-28 14:09

    除非你把java程序做成exe,否则开启的都是javaw.exe进程。

    点赞 评论
  • oyljerry
    oyljerry 2015-07-28 14:15

    往temp目录下写一个特定名字文件,程序退出的时候删除。

    点赞 评论
  • sina_2831808769
    sina_2831808769 2015-07-28 14:44

    定时打印日志记录来判定

    点赞 评论
  • blueZhangFun
    BlueZhang521 2015-07-28 14:49

    你启动多个线程,注意只是线程是由javaw进程创建的,进程可以看到,如果想看线程名字,getthreadname()获取当前进程名

    点赞 评论
  • smch
    smch 2015-07-28 16:02

    java程序也有命令行的。可以判断其对应的命令行。
    其次,如果程序是你写的还有一个复杂的方法就是起一个socket之类的,你的连接这个连不通就表示没在运行。

    点赞 评论
  • miracle_yao
    miracle_yao 2015-07-30 01:54

    可以通过定时打日志来查看,

    点赞 评论
  • qq_33035563
    qq_33035563 2019-05-07 08:53

    绑定一个端口,程序启动前绑定一下 看看这个是否曾经绑定过!

    点赞 评论

相关推荐