java - 正确从 C# 运行 Java 应用程序

标签 java c# process

我正在尝试从我的 C# 代码执行 Java 应用程序。我使用 System.Diagnostics 中的 Process 类。

我能够运行它并杀死它,但是当我执行应用程序时,java似乎启动了子进程。当我试图杀死该进程时,我杀死了父java进程,第二个在幕后启动的进程仍在运行。

多次执行该逻辑会导致数十个java.exe进程和内存溢出。

有没有办法从 C# 代码正确运行 Java 应用程序并能够终止已启动的进程?

我想知道如果我没有管理权限是否可以解决此问题

最佳答案

我很想使用 taskkill 。它从以下 cmd 命令运行:

string.Format("cmd /c \"taskkill /f /pid {0}\" /t", this.processId);

/t 执行树终止操作,结束子进程。

关于java - 正确从 C# 运行 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31001272/

相关文章:

process - 具体来说,将进程分成页面是什么意思?

java - 如何在oracle adf中显示水平列?

java - 如何在 glassfish v3.0 中查找 .txt 文件的路径

c# - 使用 async/await、RX 和 LINQ 进行异步消息处理

c# - .Net Web API 路由和帮助页面

c - 按发生顺序用不同进程写入同一个文件

java - @BeforeAll 和 @Transaction 不起作用 - 数据库端的更改不会回滚

java - jOOQ - 从 psql 查询构建更新

c# - 虚拟目录中的 ASP.NET MVC

c - 如何立即从 Linux 中的 fork 子进程返回?