在dart控制台应用程序中按Ctrl + c

时间:2013-01-17 06:59:02

标签: dart

有没有办法在dart控制台应用程序中捕获 CTRL + C

例如,按 CTRL + C 从服务器向Web套接字客户端发送干净的“关闭”数据包,而不是仅仅粗暴地关闭套接字。

2 个答案:

答案 0 :(得分:2)

我有一个挖掘,我认为答案,目前是没有。

您可以捕获标准输入,例如:

import 'dart:io';

void main() {
  stdin.onData = () => print(stdin.read());
}

但是这不响应 CTRL + C

在其他地方,process.dartdart:io库的一部分)定义了各种信号,例如SIGQUIT和onExit()回调,但这用于控制子进程而不是主机过程

答案 1 :(得分:2)

现在可以使用

我在map-reduce

找到了以下测试代码
strings

希望很快就会发布。

另见Unified Diff: tests/standalone/io/signals_test_script.dart