首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定用于启动当前jvm的命令?

如何确定用于启动当前jvm的命令?
EN

Stack Overflow用户
提问于 2010-11-24 05:27:10
回答 2查看 294关注 0票数 4

我打算生个孩子做些工作。我想使用与父进程相同的命令行生成子进程。

例如,如果父级是这样启动的:

代码语言:javascript
复制
#>/usr/bin/java ParentProgram

然后我会打电话给

代码语言:javascript
复制
Runtime.exec("/usr/bin/java ChildProgram");

示例2:

代码语言:javascript
复制
#>/usr/bin/jdb -cp ./:/home/name/tool/library.jar -Xmx4G ParentProgram

然后我会打电话给

代码语言:javascript
复制
Runtime.exec("/usr/bin/jdb -cp ./:/home/name/tool/library.jar -Xmx4G ChildProgram");

我知道我可以从系统属性中找到类路径。我打算使用ProcessBuilder而不是Runtime.exec,它会将父进程的环境复制到子进程的环境中。但基本上,我希望使用与父对象相同的java程序和参数。我没有在系统属性中找到此信息。

EN

回答 2

Stack Overflow用户

发布于 2010-11-24 05:47:33

您可以使用JMX:

代码语言:javascript
复制
List<String> args = ManagementFactory.getRuntimeMXBean().getInputArguments();
票数 1
EN

Stack Overflow用户

发布于 2012-07-05 12:42:00

在JDK 6中,有一个名为jinfo的命令,它可以帮助您识别所提供的参数

您只需要输入您的进程Id,并且要知道,您可以使用jps命令,它将显示所有正在运行的jvm进程和Id。

所以使用下面的命令,你可以让所有的命令行都通过。使用相同的命令,您可以动态地更改某些属性(参见jinfo -h)

jinfo

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4261135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档