Closed
Description
Something equivalent of the followings:
node.js
process.on('SIGTERM', () => {/* do something */}));
python
def handler(signum, frame):
# do something
signal.signal(signal.SIGTERM, handler)
ruby
Signal.trap("TERM") {
# do something
exit
}
golang
sigc := make(chan os.Signal, 1)
signal.Notify(sigc, syscall.SIGTERM)
go func() {
s := <-sigc
// do somethig
}()
rust (using tokio signal)
let ctrl_c = tokio_signal::ctrl_c().flatten_stream();
let prog = ctrl_c.for_each(|()| {
// do something
Ok(())
});
tokio::run(prog.map_err(|err| panic!("{}", err)));