1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-29 02:29:06 -05:00
denoland-deno/docs/examples/os_signals.md
2020-08-15 09:46:36 -04:00

901 B

Handle OS Signals

This program makes use of an unstable Deno feature. Learn more about unstable features.

API Reference

You can use Deno.signal() function for handling OS signals:

for await (const _ of Deno.signal(Deno.Signal.SIGINT)) {
  console.log("interrupted!");
}

Deno.signal() also works as a promise:

await Deno.signal(Deno.Signal.SIGINT);
console.log("interrupted!");

If you want to stop watching the signal, you can use dispose() method of the signal object:

const sig = Deno.signal(Deno.Signal.SIGINT);
setTimeout(() => {
  sig.dispose();
}, 5000);

for await (const _ of sig) {
  console.log("interrupted");
}

The above for-await loop exits after 5 seconds when sig.dispose() is called.