4

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

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

#>/usr/bin/java ParentProgram

然后我会打电话

Runtime.exec("/usr/bin/java ChildProgram");

示例 2:

#>/usr/bin/jdb -cp ./:/home/name/tool/library.jar -Xmx4G ParentProgram

然后我会打电话

Runtime.exec("/usr/bin/jdb -cp ./:/home/name/tool/library.jar -Xmx4G ChildProgram");

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

4

2 回答 2

1

您可以使用 JMX:

List<String> args = ManagementFactory.getRuntimeMXBean().getInputArguments();
于 2010-11-23T21:47:32.893 回答
-1

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

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

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

金信息

于 2012-07-05T04:42:00.227 回答