deno.com

處理作業系統訊號

在 Github 上編輯

您可以使用 `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://deno-docs.dev.org.tw/examples/scripts/os_signals.ts

您找到需要的資訊了嗎?

隱私權政策