GO进程正在运行.我也想
- 转储其每个goroutine的堆栈跟踪
- 从外部看,不依赖于我在其源代码中添加的任何内容
- 而不会杀死它.
我怎么才能做到这一点呢?
这应该很简单--请求的特性是:https://code.google.com/p/go/issues/detail?id=2516,并且根据该线程的结论实现了该特性.那是两年多前的事了.但是,发出线程和提交都不包含任何关于如何调用此功能的提示.
特性请求提到SIGQUIT是JVM接受的调用相应特性的信号.但SIGQUIT不是答案;在go1上.2至少,SIGQUIT会执行#1和#2,但也会终止进程.
不久前有人在这里问了一个相关的问题:How to dump goroutine stacktraces?