fork 的进程怎么自动 attach 到当前的 os.Std{in/out/err}而不是自动退出
关于go的 0 停机重启升级看到个方案: goteleport.com/blog/golang-ssh-bas...
有个疑问:
测试后发现,当收到 HUP 信号后 fork 出子进程没问题,但是 http.Shutdown 结束后原来的进程直接退出了。当然是不影响服务的,就是有个问题,能不能不让老进程退出或者是老进程可以退出但是把 stdin/stdout/stderr 自动挂到新起的进程上呢。
当本地测试和使用systemd启动时,type=simple一旦fork子进程会systemd认为原先进程正常死掉了,然后就退出了子进程也跟着退了。当type=forking时,systemctl start 会卡住,直到fork一次(那只能进程一启动就自动先fork一遍?).
试过 process.Wait() 但是进程会套娃