jvm与java进程

uelo1irk  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(452)

这可能是关于javajvm的一个非常基本的查询。如果我使用bash脚本启动了两个独立的程序,那么两个进程正在运行,并且我可以看到使用ps-ef命令的进程。
这是否意味着它们作为两个独立的jvm运行?我有这个查询,因为我可以看到两个进程的父进程id(ppid)是相同的。

hl0ma9xz

hl0ma9xz1#

Does that mean they are running as 2 separate JVM's?

对。“java”命令启动jvm。

0x6upsns

0x6upsns2#

是的,它们都是两个完全独立的jvm,作为本机os进程运行。这包括垃圾收集器、jit编译器和所有其他常见的东西。
每个操作系统进程都有一个父进程,如果没有其他父进程,那么当操作系统启动时,首先启动的就是“init”进程。
顺便说一句,java命令行工具 jcmd 非常适合在您的机器上探索java/jvm进程—例如,您只需键入 jcmd 把它们全部列出来;类型 jcmd <PID> help 检查特定进程的可用命令列表。 htop 是探索流程层次结构的另一个好工具。

相关问题