2、main goroutine:当一个程序启动时,其主函数即在一个单独的goroutine中运行,我们叫他为main gorountine
3、go goroutine:新的goroutine会用go语句来创建,go+函数名,go语句会使其语句中的函数在一新创建的goroutine中运行,而go语句本身会迅速地完成
4、goroutine的退出:主函数返回时,所有的goroutine都会被直接打断,程序退出,除了从主函数退出或者终止程序之外,没有其他方法能够让一个goroutine来打断另一个的执行,但是可以通过另一种方式来实现这个目的,通过goroutine之间的通信来让一个goroutine请求其他的goroutine,并让请求的goroutine自行结束执行
在用exec包调用的其他进程后如何关闭结束,可以使用context包的机制进行管理,context包的使用详见: https://godoc.org/context
exec.CommandContext 方发实现了 context ,通过 context 可以对exec启动的进程结束。
隐藏程序自身黑窗口的方法: go build -ldflags="-H windows"
隐藏子进程黑窗口的方法:
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}