处理系统信号
以下内容使用了不稳定的特性。更多内容请参考不稳定特性。
可以使用 Deno.signal() 函数来处理系统信号。
for await (const _ of Deno.signal(Deno.Signal.SIGINT)) {console.log("interrupted!");}
Deno.signal() 也支持Promise。
await Deno.signal(Deno.Signal.SIGINT);console.log("interrupted!");
如果想停止监控信号,可以使用信号对象的 dispose() 方法。
const sig = Deno.signal(Deno.Signal.SIGINT);setTimeout(() => {sig.dispose();}, 5000);for await (const _ of sig) {console.log("interrupted");}
上面的for-await循环会在sig.dispose()被调用后5秒退出。
