deno.com

处理操作系统信号

你可以使用 `Deno.addSignalListener` 函数来监听操作系统信号。这使你可以在收到 `SIGINT` 信号时优雅地关闭服务器等操作。

console.log("Counting seconds...");

let i = 0;
我们隔离了信号处理函数,以便以后可以将其移除。
function sigIntHandler() {
  console.log("interrupted! your number was", i);
  Deno.exit();
}
然后,我们可以监听 `SIGINT` 信号,该信号在用户按下 Ctrl+C 时发送。
Deno.addSignalListener("SIGINT", sigIntHandler);
在等待信号的同时,我们可以做其他事情,比如计时,或者启动一个服务器。
const interval = setInterval(() => {
  i++;
}, 1000);
10 秒后,我们可以退出并移除信号监听器。
setTimeout(() => {
  clearInterval(interval);
  Deno.removeSignalListener("SIGINT", sigIntHandler);
  console.log("done! it has been 10 seconds");
}, 10_000);

使用 Deno CLI 在本地运行此示例

deno run https://docs.deno.org.cn/examples/scripts/os_signals.ts

您找到所需内容了吗?

隐私政策