在 C++ 的同一进程空间内执行外部可执行文件
我正在尝试找到一种使用 C++ 包装器在 Windows 中执行 java vm 的简单方法。我可以使用 CreateProcess() 直接启动 java.exe,并提供我需要提供的所有参数。问题是现在在进程管理器中显示为两个进程。因此,如果我终止父进程,java.exe 实例仍然存在。
我需要这样做的原因是我们有一些 java 程序,所有这些程序都将同时运行。我希望能够在进程资源管理器中为它们提供可区分的名称,这样如果用户在使用其中一个进程时遇到问题,他们就不必猜测对应于哪个 java.exe 进程。
I'm trying to find an easy way to execute a java vm in windows using a C++ wrapper. I can use CreateProcess()
to launch java.exe directly with all of my parameters that I need to give it. The problem is this now shows up as two processes in process manager. So, if I kill the parent process, the java.exe instance still sticks around.
The reason I need to do this is that we have a few java programs, all of which will be running concurrently. I want to be able to give them distinguishable names in the process explorer, so that if a user has trouble with one of them, they don't have to guess which java.exe process that corresponds to.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将 java.exe 替换为您自己的可执行文件。 Java 术语表中的这篇文章讨论了 java.exe 的工作原理以及在哪里可以找到它的源代码。您可能只需复制然后重命名 java.exe 就可以了
You can replace java.exe with your own executable. This article from the Java Glossary discusses how java.exe works and where to find the source for it. It's possible that you could get by simply by copying and then renaming java.exe