2010-12-07 103 views
6

我在学习如何使用jps,我找到这个页面:jps。它说:java中的lvmid是什么?

lvmid通常但不一定是JVM进程的操作系统进程标识符。

所以我想知道什么情况jps不是操作系统的进程标识符?

任何人都可以帮忙吗?

回答

3

所有操作系统是否都有“进程ID”的概念?也许不会。其中一些甚至可能代表进程ID,而不是整数,但采用完全不同的形式。进程ID是特定于平台的概念,将来可能会发生变化。 Java被设计为独立于平台。这就是为什么它可能无法正常工作。

但是,在当前使用的所有主要操作系统上,lvmid应始终返回JVM进程的操作系统的进程ID。

+0

感谢您回答这个问题。我认为你的回答确实有道理。 – khotyn 2010-12-07 13:52:33

1

它基本上是说lvmid通常与O/S pid(进程ID)相同,但它不一定是相同的。一些操作系统可能会区分它们(我不知道哪些)。

0

我今天发现运行在CygWin上的java进程与运行在本机Linux机器上的java进程会有不同于pid的lvmid。这导致我的脚本搜索lvmid来关闭Java进程失败,因为我传递了错误的pid。

你可以从我的照片看到,lvmid是6704,但PID为19248

enter image description here