Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 杀灭过程后的清理_C#_Winforms_Process - Fatal编程技术网

C# 杀灭过程后的清理

C# 杀灭过程后的清理,c#,winforms,process,C#,Winforms,Process,我有一个连接到KepServerEx的应用程序。当它连接KepServer时,KepServer表示1个客户端连接到服务器。但如果我使用process.kill()方法终止我的应用程序,KepServer仍然会说有一个客户端连接到服务器 在终止进程后,如何释放资源 编辑:如果在第一次运行时存在,我的应用程序将尝试终止进程的所有其他部分。因此,我尝试从另一个实例终止进程,这在技术上是不可能的,因为对进程的调用。kill是一个直接与进程的内核对象对话并终止它的操作系统调用。因为主线程被破坏了,无论你

我有一个连接到KepServerEx的应用程序。当它连接KepServer时,KepServer表示1个客户端连接到服务器。但如果我使用process.kill()方法终止我的应用程序,KepServer仍然会说有一个客户端连接到服务器

在终止进程后,如何释放资源


编辑:如果在第一次运行时存在,我的应用程序将尝试终止进程的所有其他部分。因此,我尝试从另一个实例终止进程,这在技术上是不可能的,因为对进程的调用。kill是一个直接与进程的内核对象对话并终止它的操作系统调用。因为主线程被破坏了,无论你走得多低(C,ASM),你对此无能为力。
即使你可以,当突然停电时会发生什么?我的观点是,服务器有责任管理与客户机的连接,客户机应该提供帮助,但服务器永远不能盲目地对其进行中继。

可能在终止进程之前关闭连接?我正在从另一个进程实例终止进程。典型的模式是终止任何一段时间未使用的“连接”。这称为“超时”。服务器过早终止连接的典型解决方法是让客户端定期发送消息。这被称为“HeartBeat”(不要与“HeartBleed”混淆,后者是OpenSSL心跳中的一个巨大错误)。