如何在Java中通过某个ProcessId获取一个Process对象。
我正在使用 JNA 创建一个进程,因为我想在后台打开一个应用程序。
WinBase.STARTUPINFO startupInfo = new WinBase.STARTUPINFO();
startupInfo.dwFlags = 1;
WinBase.PROCESS_INFORMATION.ByReference processInformation = new WinBase.PROCESS_INFORMATION.ByReference();
Kernel32.INSTANCE.CreateProcess(null, "C:\\Program Files\\...", null, null, true, new WinDef.DWORD(0), Pointer.NULL, System.getProperty("java.io.tmpdir"), startupInfo, processInformation);
int prozessId = processInformation.dwProcessId.intValue();
最佳答案
这是不可能的。 Process
和 ProcessBuilder
的 API 不允许您为现有流程创建 Process
实例;您始终只能使用它们创建新的子进程。
关于java - 通过进程Id获取进程对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21114144/