登录
首页 >  Golang >  Go问答

golang中的信号处理

来源:stackoverflow

时间:2024-02-27 12:39:24 461浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《golang中的信号处理》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我正在运行我的 golang 可执行文件,它被以下代码阻止:

signalChannel := make(chan os.Signal, 1)
    signal.Notify(signalChannel, syscall.SIGINT, syscall.SIGTERM)
    <-signalChannel

    err := ensureDir("./jake")
    if err != nil {
        log.Println(err)
    }

如果用户点击 ctl + c,它会创建 jake 目录,但我想知道如何才能 如果操作系统被用户关闭,我会让程序执行相同的操作。


解决方案


在这里,请阅读:https://unix.stackexchange.com/a/499764/398386

正确处理 SIGTERM

此外,从代码块来看,我认为您也存在一些实现问题。您能否看看您是否在单独的 goroutine 中处理它,或者共享更多代码以便我们查看。

另外,供您参考,请参阅:https://gist.github.com/reiki4040/be3705f307d3cd136e85#file-signal-go

这是一个与信号相关的非常简单且有效的示例。

理论要掌握,实操不能落!以上关于《golang中的信号处理》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>