go x/playground: 超时后发送SIGQUIT以提供有用的上下文

4urapxun  于 4个月前  发布在  Go
关注(0)|答案(2)|浏览(41)

操场以一种提供用户有用上下文的方式杀死进程,而不是 Process.Kill()

你使用的 Go 版本是什么( go version )?

$ go version
go version go1.14 linux/amd64 (playground)

这个问题在最新版本中是否会重现?

是的

你正在使用什么操作系统和处理器架构( go env )?

go env 输出

$ go env

你做了什么?

package main

func main() {
	for {
	}
}

你期望看到什么?

timeout running program
SIGQUIT: quit
PC=0x458050 m=0 sigcode=0

goroutine 1 [running]:
main.main()
	/tmp/sandbox300849141/prog.go:4 fp=0xc000034788 sp=0xc000034780 pc=0x458050
runtime.main()
	/usr/local/go-faketime/src/runtime/proc.go:203 +0x20e fp=0xc0000347e0 sp=0xc000034788 pc=0x42bf4e
runtime.goexit()
	/usr/local/go-faketime/src/runtime/asm_amd64.s:1373 +0x1 fp=0xc0000347e8 sp=0xc0000347e0 pc=0x453831

rax    0x458050
rbx    0x0
rcx    0x4d0000
rdx    0x47a788
rdi    0xc000060010
rsi    0x0
rbp    0xc0000347d0
rsp    0xc000034780
r8     0x0
r9     0x1
r10    0xc000060000
r11    0x1
r12    0x0
r13    0x40
r14    0x483ecc
r15    0x0
rip    0x458050
rflags 0x246
cs     0x33
fs     0x0
gs     0x0

Program exited: status 2.

你看到了什么?

timeout running program
/cc @bcmills@cagedmantis@dmitshur

vq8itlhq

vq8itlhq1#

https://golang.org/cl/227652提到了这个问题:sandbox: timeout runsc commands

ne5o7dgx

ne5o7dgx2#

我们还应该清理CommandContext的使用,当我们想要发送一个更友好的信号时(golang.org/cl/227351评论)

相关问题