在服务器/客户端设置中,我让客户端应用程序管理计算机上的其他应用程序(启动/停止/重新启动/查询进程)。现在,我只是有一个非常基本的设置使用的进程ID,但它发生在我之前,它上线,我需要改进这一点。
如果进程在我对它发出查询期间停止,而另一个进程开始使用相同的id,这将使系统崩溃。我启动的进程都不会来自同一个文件路径,但通常会有相同的可执行文件名。
我没有太多的运气找到它,但我能找到运行服务的可执行路径吗?我想我在查询运行状态时的最佳选择是首先查找它应该位于的存储进程id,如果正在运行,请检查文件路径/可执行文件名以确保它也匹配。
有没有更好的方法来做到这一点,或者这是最好的可能方案?

最佳答案

当您正在监视退出的进程时,可以使用Process.Exited事件来通知。这样就不会有“趁你不注意”的事情发生。
注意:要引发Exited事件,首先必须显式地将Process.EnableRaisingEvents设置为true

10-01 19:27
查看更多