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

sam*_*miy 5 dart

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

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

Chr*_*ett 1

我进行了一番挖掘,我认为目前的答案是否定的。

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

import 'dart:io';

void main() {
  stdin.onData = () => print(stdin.read());
}
Run Code Online (Sandbox Code Playgroud)

但这不会响应CTRL+ C

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