use*_*381 2 c# java windows-services restart batch-file
我正在尝试开发一个日志文件看门狗 C# 服务来重新启动 Java 应用程序。
此 Java 应用程序运行一个特殊的通信程序并将收集的数据写入日志文件。它目前正在使用批处理文件脚本启动。
我希望我的 C# 服务监视日志文件是否使用新数据更新。如果没有获取新数据,我想重新启动 Java 应用程序。
我在网上找到了关于在 C# 应用程序中调用批处理脚本并检查文件何时被修改的材料,但我想知道它们是否是一种使用 C# 应用程序终止当前运行的 Java 程序的方法?Java 程序名称是 javaw.exe,但它们是在本机上运行的其他 Java 程序,因此它不是唯一的。有没有人知道如何做到这一点?
jps -v 是一个 Java 命令,它详细说明了 java 正在使用的进程。如果您通过 c# 进行此调用并将信息传递到字符串中,则可以对此进行排序并准确确定要终止的进程。
您可以像这样接收输出:
ProcessStartInfo psi = new ProcessStartInfo("jps", "-v");
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
Process p = new Process();
p.StartInfo = psi;
p.Start();
string[] output = p.StandardOutput.ReadToEnd().Split("\n".ToCharArray());
Run Code Online (Sandbox Code Playgroud)
在此之后,您可以轻松解析出您正在运行的 Java 进程的进程 ID 和名称。
| 归档时间: |
|
| 查看次数: |
1100 次 |
| 最近记录: |