Go退出程序实例

广告位

有时我们希望Go程序能够智能地处理Unix信号。 例如,可能希望服务器在接收到SIGTERM时正常关闭,或者在…

有时我们希望Go程序能够智能地处理Unix信号。 例如,可能希望服务器在接收到SIGTERM时正常关闭,或者在收到SIGINT时使用命令行工具停止处理输入。下面介绍如何使用Go语言处理信号。

Go语言中,使用os.Exit立即退出并返回给定状态。

当使用os.Exit时,defers不会运行。

所有的示例代码,都放在 F:workspgolang 目录下。安装Go编程环境请参考:

signal.go的完整代码如下所示 –

package main    import "fmt"  import "os"    func main() {        // `defer`s will _not_ be run when using `os.Exit`, so      // this `fmt.Println` will never be called.      defer fmt.Println("!")        // Exit with status 3.      os.Exit(3)  }    // Note that unlike e.g. C, Go does not use an integer  // return value from `main` to indicate exit status. If  // you'd like to exit with a non-zero status you should  // use `os.Exit`.  

执行上面代码,将得到以下输出结果 –

F:workspgolang>go run exit.go  exit status 3  

贺, 贺朝

关于作者: 贺朝

为您推荐