【问题标题】:Process Management in .NET.NET 中的流程管理
【发布时间】:2011-03-11 12:39:42
【问题描述】:

在我的服务器/客户端设置中,我让客户端应用程序管理机器上的其他应用程序(启动/停止/重新启动/查询进程)。现在,我只是使用进程 ID 进行了一个非常基本的设置,但在它上线之前我就想到了,我需要改进它。

如果在我对其发出查询的时间之间进程停止并且另一个进程开始使用相同的 ID,这将导致系统崩溃。我启动的所有进程都不会来自相同的文件路径,但通常会有相同的可执行文件名。

我没有找到它,但我可以找到正在运行的服务的可执行路径吗?我想在查询运行状态时我最好的选择是首先查找它应该在的存储的 ProcessID,如果它正在运行,请检查文件路径/可执行文件名称以确保它也匹配。

是否有更好的方法来做到这一点,或者这是最好的方案?

【问题讨论】:

    标签: c# .net process


    【解决方案1】:

    当您监控的进程退出时,您可以使用Process.Exited 事件得到通知。这样一来,“当你不注意的时候”就不会发生类似的事情了。

    注意:要引发Exited 事件,首先您必须将Process.EnableRaisingEvents 显式设置为true

    【讨论】:

    • 它说我现在接受答案还为时过早,我只是等到那个东西消失了。
    • @David:那么对不起!我看到您是新手,并认为您可能还不熟悉该网站的 UI 和/或“工作流程”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    相关资源
    最近更新 更多