如何通过Java中的某个Process Id获取Process对象。
我正在使用JNI创建进程,因为我想在后台打开应用程序。
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
实例;您始终只能使用它们创建新的子进程。