即使在进程终止时也保证代码执行

aba*_*hev 22 .net c# process kill-process

我需要在进程停止时执行一部分代码(状态保存) - 由用户,任务管理器等执行.

可能吗?

try {} finally {},AppDomain.ProcessExit,IDisposable,析构函数,..试下呢?

dec*_*one 18

正如其他人所指出的那样,当你的应用程序正在或Killed通过时,你无法执行任何代码.这就是它所谓的原因.Operating SystemUserKilling

如果保存状态是应用程序的重要部分,则应采用类似于数据库系统的方法.实施transaction log,创造checkpoints等等.这是你能得到的最接近的.

在这种情况下,当您的应用程序恢复(在被执行后重新运行killed)时,它可以检查这些transaction logs是否有任何挂起的更新或最后的状态更改.

除此之外,它实际上取决于你想做什么.还有为什么你提出这个想法?我们可以获得更多细节吗?可能是这里有人有更好的选择.

  • +1表示被杀死和被要求停止之间的区别。 (2认同)

Ste*_*n H 11

一个过程被杀死的过程的全部意义在于它只是停止它正在做的事情.我无法真正看到这种方式.