TODO:Golang Linux进程退出说明

Posted todosomeone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TODO:Golang Linux进程退出说明相关的知识,希望对你有一定的参考价值。

TODO:Golang Linux进程退出说明

Golang使用os.Exit(code)进程退出导致当前程序退出并返回给定的状态代码。传统上,code代码为零表示成功退出,非零错误退出。

技术分享

syscall.Exit可以调用不同平台的操作系统的退出。

code值为0-255,当code为非0时,os.Exit(code)会返回,对应值当状态码

exit status 128

当code为0,则正常退出。code值可自定义对应当意义进行相应业务场景使用。code的值在自然数是按从0至255的倍数进行循环,例如自然数为256,在进程退出的时候返回的是0;256-511==》code值为0-255,负数也是一样,-256到-1==》0-255。

退出码是使用情景,在linux下使用得淋漓尽致

0 命令成功完成

1 通常的未知错误

2 误用shell命令

126 命令无法执行

127 没有找到命令

128 无效的退出参数

128 +x使用Linux信号x的致命错误。

130 使用Ctrl-C终止的命令

255 规范外的退出状态

技术分享

echo $?是输出上一个命令的退出码,从图中我们看到了0,126,127都是我们意料的情况。这是Linux下的退出码的使用情况,我们自己的软件也可以自我定义。


wxgzh:ludong86

技术分享

以上是关于TODO:Golang Linux进程退出说明的主要内容,如果未能解决你的问题,请参考以下文章

Todo僵尸进程学习 & 进程状态列表

golang 后台服务设计精要

golang如何获取子进程的实时输出

Linux 进程退出后自动启动

golang 进程创建,fork,以及热重启(无缝升级)

请教关于在golang中怎么使用进程的问题