Events 退出时飞镖

Events 退出时飞镖,events,dart,exit,Events,Dart,Exit,在虚拟机上运行的Dart应用程序退出之前,是否有方法执行某些操作 我正在编写一个服务器应用程序,因此没有特定的时间点退出我的应用程序。我正在尝试与另一个进程对话,但如果用户关闭了我的应用程序(使用ctr+c),或者它由于未知原因崩溃,我希望能够告诉该进程也关闭 如果有类似的东西存在,那就太好了: void main(){ onExit()。然后(){ process.kill(); }); } 谢谢 编辑: 我找到了检测Ctr+C的方法: void main(){ ProcessSignal.

在虚拟机上运行的Dart应用程序退出之前,是否有方法执行某些操作

我正在编写一个服务器应用程序,因此没有特定的时间点退出我的应用程序。我正在尝试与另一个进程对话,但如果用户关闭了我的应用程序(使用ctr+c),或者它由于未知原因崩溃,我希望能够告诉该进程也关闭

如果有类似的东西存在,那就太好了:

void main(){
onExit()。然后(){
process.kill();
});
}
谢谢

编辑:

我找到了检测Ctr+C的方法:

void main(){
ProcessSignal.SIGINT.watch().listen((ProcessSignal信号){
打印(“退出”);
出口(0);
});
}

现在,如果应用程序是从Dart编辑器运行的,是否有方法检测关闭?

似乎正在进行[POSIX信号处理(SIGINT、SIGTERM、SIGHUP等)()

谢谢,但请您解释一下如何使用它来捕获ctr+c,好吗?老实说,我不确定这个答案中到底是怎么回事。不过,我知道了。有没有办法在其他情况下检测到关闭?大多数崩溃都会引发异常。请尝试包装整个main()方法,并在catch中添加关闭代码。没有引发异常的套接字存在问题,但我现在已经解决了(我想)。我现在更想知道的是,是否有一种方法可以检测到dart编辑器关闭应用程序。这样,如果不需要,我就不必从命令行运行它。引用的问题已修复。这应该是可用的。