当前位置: 首页 > 面试题库 >

如何获取我刚刚在Java程序中开始的进程的PID?

徐高韵
2023-03-14
问题内容

我已经开始执行以下代码

 ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "path");
 try {
     Process p = pb.start();       
 } 
 catch (IOException ex) {}

现在,我需要知道我刚刚开始的进程的pid。


问题答案:

由于Java 9类Process具有新方法long pid(),因此它很简单

ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "path");
try {
    Process p = pb.start();
    long pid = p.pid();      
} catch (IOException ex) {
    // ...
}


 类似资料:
  • 问题内容: 我试图用Golang程序抛出错误,但同时也没有打印出运行行。无法访问名为log.Fatal的行号吗?即有没有办法在抛出错误时获取行号? 我试图用谷歌搜索,但不确定如何。我能得到的最好的结果是打印堆栈跟踪信息,我认为这很好,但可能有点过多。我也不想每次都需要行号时就写东西,我只是感到惊讶,没有任何内置函数可以用于这种或非服装的东西。 另外,我不想制作自己的调试/错误处理工具的原因是,我不

  • 问题内容: 我正在使用Python和psycopg2连接到Postgres。 当我插入一行时… …如何获取刚刚插入的行的ID?试: 使用时返回错误: 简单地返回。 更新:也是(即使直接在postgres中使用此命令也可以): 有人可以建议吗? 谢谢! 问题答案: 并且,请不要手动构建包含值的SQL字符串。您可以(并且应该!)单独传递值,从而不必进行转义和SQL注入: 有关更多详细信息,请参见psy

  • 问题内容: 如果所有数据被意外删除,是否可以将表恢复为上一次数据。 问题答案: 还有另一种解决方案,如果服务器上有活动的二进制日志,则可以使用 用它生成一个sql文件 然后搜索您缺少的行。如果您没有激活它,则没有其他解决方案。下次进行备份。

  • 在解封XML时得到一个UnmarshalException(意外元素),我刚刚通过Marshaller运行了该元素。我看起来像是封送处理生成了XML,而XML无法解封。 以下UnmarshalException是由代码Unmarshaller.Unmarshal(reader)的最后一行引发的: 生成的XML如下所示: 为什么抛出UnmarshalException?

  • 包装com.Pramesh; 导入Java . util . scanner; public class PrameshShrestha { public static void main(String[] args) { }

  • 我已经在我的Windows-7-64 PC上成功地在visual studio 2015(使用IDE)中开发了WinAPI应用程序。我通常在发布模式下测试该程序。 然后我对我的源代码进行了一些编辑。程序编译和链接没有错误,但程序的行为并不像我预期的那样,所以我切换到调试模式并尝试构建和运行。再次VS编译和链接没有错误,但随后投诉 “无法启动程序'f:\dropbox\blah\x64\Debug\