Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/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
使用事件(Windows,c#)退出进程_C#_Windows_Process_Ipc - Fatal编程技术网

使用事件(Windows,c#)退出进程

使用事件(Windows,c#)退出进程,c#,windows,process,ipc,C#,Windows,Process,Ipc,考虑有两个过程的情况。进程1向进程2发送请求,以使用IPC(例如WCF)退出自身 Process2不能仅具有退出方法: void exit() { System...Exit(0); } 因为来自Process1的方法调用将终止。如何确保Process2正常退出(可能在不同的线程上) 我已经做了相当多的研究,但我没有任何具体的资料。这似乎能满足你的想法 void scheduleShutdown() { System.Threadpool.QueueUserWorkItem ( ()

考虑有两个过程的情况。进程1向进程2发送请求,以使用IPC(例如WCF)退出自身

Process2不能仅具有退出方法:

void exit()
{
   System...Exit(0);
}
因为来自Process1的方法调用将终止。如何确保Process2正常退出(可能在不同的线程上)


我已经做了相当多的研究,但我没有任何具体的资料。

这似乎能满足你的想法

void scheduleShutdown() {
  System.Threadpool.QueueUserWorkItem ( ()=>{ Sleep(30s); System.Exit(); } ); 
}
这是一个非常丑陋的解决方案,因为任何正在运行的线程都将被杀死。理想情况下,您的每个线程都将检查关机信号并优雅地退出