我想知道它是如何开始的。启动此java进程的命令是什么?我的意思是我有一个正在运行的java进程,并且我想知道启动它的命令,例如什么是主类,什么是参数等。
有什么工具吗?感谢
答案 0 :(得分:3)
JDK附带了一个命令行工具: jps ,它将为您提供执行命令时正在运行的java进程的列表,给出方法的参数< strong> main 以及用于JVM的参数。试试这个:
...
using (var db = new MyDbContext())
{
alt = db.AddressLineTypes.Single(x => x.Value == "TypeValue");
al.AddressLineTypes.Add(alt);
r.AddressLines.Add(al);
SaveRecord(r, db);
}
}
public void SaveRecord(Record r, MyDbContext db)
{
db.Records.Add(r);
db.SaveChanges();
}
它不会给你用于启动过程的确切命令,但它会给你一个如何重建&#34;&#34;那个命令。
有关详细信息,如果您使用的是体面的Linux发行版,请尝试使用path\to\jdk\bin\jps -m -l -v
,或者如果您使用的是Windows,请参阅Oracle documentation about jps。
答案 1 :(得分:1)
你的问题不清楚。如果您要查找启动此进程的命令,则可以查看属性sun.java.command
。这将为您提供传递给它的主类名和参数。 java.class.path
属性为您提供类路径。您可以使用ManagementFactory.getRuntimeMXBean().getInputArguments()
方法获取传递给java命令本身的参数。使用所有这些,你应该能够重建java命令。
答案 2 :(得分:0)
如果您使用Windows,则可以使用Taskmanager,转到Process / Details选项卡,您可以在其中查看每个Process的PID。在那里,您可以为命令行添加一列(例如,在德语中使用&#34; Befehlszeile&#34;,我不确定该列是如何用英语标记的)。 然后只看一下java.exe / javaw.exe进程。
您也可以使用Microsoft的替代Taskmanager,Process Explorer,在那里您只需点击进程并选择详细信息即可。