Java如何得到当前进程ID号

2024-10-22 15:29:48
有3个网友回答
网友(1):

进程号也就是UNIX类OS中的,Process ID

可是Process ID的概念只有在UNIX类的操作系统中才有,Java作为一种多平台的程序语言,在JDK的接口中并不提供“进程ID”(Process ID)这种OS独有的概念。

如果要结束程序,可以使用System.exit()
如果非要得到自己的Process ID,唯一的方法就是在shell取得Process ID,然后Java在通过某种方式取得相应的Process ID。

网友(2):

Runtime.getruntime.exec()
会返回一个Process类型的对象,在java程序中只能用这个对象来监控。
可以创建一个新thread(假设叫W)来调用Process.waitFor()等待那个Runtime.exec产生的进程,然后判断W.isAlive()

网友(3):

java是在jvm上跑的,jvm本身作为系统的一个进程在跑,所以平时见到的都是java多线程,没有进程间通信,为什么呢,就是因为java中没有进程这一说法,除非指的是程序本身这个进程。这个进程的话需要用到系统命令或者底层c语言才能够得到。呃,本人jni不是太熟悉,可以参考http://hi.baidu.com/lff0305/blog/item/4f301a7b20d3d3f20bd187e3.html,linux下直接调用ps-ef再用管道提取吧。