英文:
Where do I find exit status codes and their meanings?
问题
我正在为你翻译以下内容:
我正在观看关于Go语言并发的教程,在遇到竞争条件后,程序以状态码66退出。
- 66实际上代表什么意思?
- 这个状态码是从哪里来的?(如果没有标准化,我如何找到定义这个状态码的源文件?)
我了解你可以使用Exit包设置状态码:
https://pkg.go.dev/github.com/carlmjohnson/exitcode#Exit
我找到了这个关于Linux的资源,但它缺少3-125:
https://tldp.org/LDP/abs/html/exitcodes.html
英文:
I was watching a tutorial on concurrency in golang and after hitting a race condition the program exited with status code 66.
- What does 66 actually mean?
- Where does this come from? (If there's no standardization, how can I find the source file that defines this?)
I understand you can set the status code with the Exit pkg:
https://pkg.go.dev/github.com/carlmjohnson/exitcode#Exit
I found this resource for Linux, but it's missing 3-125
https://tldp.org/LDP/abs/html/exitcodes.html
答案1
得分: 1
退出代码没有通用的含义,它与所有Linux程序的退出代码没有共享的含义。
竞争检测器的文档页面指出,66
退出代码只是Go开发人员选择的一个值,它足够“非标准”,以指示原因是竞争检测,并且您实际上可以通过GORACE
环境变量进行更改:
$ GORACE="exitcode=42" go run -race my_racey_program.go
...
exit status 42
至于源代码,Go存储库包含一堆*.syso
二进制文件,位于src/runtime/race/
目录下(链接指向go1.18.4发布版本)。
在src/runtime/race/race.go
的开头处的注释中提到:
...
预构建的竞争时运行时位于race_GOOS_GOARCH.syso中。
从src/runtime/race.go直接调用运行时。
英文:
The exit code doesn't have a generic meaning -- not a meaning shared with the exit code of all linux programs.
The doc page for the race detector indicates that the 66
exit code is just a value the go developpers chose -- it is "non standard" enough to indicate that the cause was a race detection -- and that you can actually change it via the GORACE
environment variable :
$ GORACE="exitcode=42" go run -race my_racey_program.go
...
exit status 42
As far as source code goes : the go repository contains a bunch of *.syso
binary files under src/runtime/race/
(<- link to go1.18.4 posted),
and the comment at the beginning of src/runtime/race/race.go
mentions :
> ...
> The prebuilt race runtime lives in race_GOOS_GOARCH.syso.
> Calls to the runtime are done directly from src/runtime/race.go.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论