我打算催生一个孩子去做一些工作。我想使用与父进程相同的命令行生成子进程。
例如,如果父母是这样开始的话:
#>/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程序和参数。我没有在系统属性中找到此信息。
答案 0 :(得分:1)
您可以使用JMX:
List<String> args = ManagementFactory.getRuntimeMXBean().getInputArguments();
答案 1 :(得分:-1)
使用JDK 6,有一个名为jinfo的命令可以帮助您识别提供的参数
你只需要你的进程ID,并且要知道,你可以使用jps
命令,它将显示所有正在运行的jvm进程和id。
因此,使用以下命令,您可以通过所有命令行。使用相同的命令,你可以动态地改变一些属性(只看jinfo -h)
jinfo