如何在服务器上杀死运行程序(通过快捷方式)的客户端中的所有进程

时间:2016-05-03 19:59:44

标签: c# kill-process

我在服务器上有一个程序(例如\\192.168.0.1\sharefolder\test.exe)。我把程序的快捷方式放到了客户端。用户可以通过该快捷方式运行程序。当我想在服务器中更新我的程序时,会出现一个错误,说"正在使用的文件" ..现在,如何在服务器上杀死运行我的程序(通过快捷方式)的客户端中的所有进程。 我使用这段代码:

foreach (var process in Process.GetProcessesByName("quartus_pgm"))
{
         process.kill();
}
//file.delete();

但是这段代码还不够,因为这段代码只会杀死在服务器上运行的进程,但仍然无法更新程序并且发生错误..

1 个答案:

答案 0 :(得分:0)

Mahyar,你好!

我建议你使用" Shadow Copying Assemblies" .NET提供的机制。简而言之: 1.你有一个应用程序(exe),在几个dll(具有所有逻辑/ UI / ...的库)上引用。 2.你可以在不停止app(exe)的情况下替换dll。

有关详细信息,请参阅此MSDN article

这种方法可能需要对您的应用进行一些重构。