1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
//go:build linux || openbsd || freebsd || netbsd || dragonfly || solaris || darwin || aix package main import ( "os" "os/signal" "runtime/pprof" "syscall" ) func backtrace_listen() { go func() { ch := make(chan os.Signal, 1) signal.Notify(ch, syscall.SIGUSR1) for { <-ch pprof.Lookup("goroutine").WriteTo(os.Stdout, 1) } }() }