我就想强制快速重启,数据丢失也无所谓,看了Graceful Restart in Golang
用多进程搞太麻烦了。
1
TangMonk 2018-03-01 13:21:27 +08:00 via Android
systemd
|
3
jswh 2018-03-01 15:06:11 +08:00
supervisor
|
4
Immortal 2018-03-01 15:28:29 +08:00
写个 sh 脚本 kill 掉嘛
|
5
fatjiong 2018-03-01 16:20:50 +08:00
supervisor+1
|
6
fenglangjuxu 2018-03-01 17:21:09 +08:00
用信号监控,如果收到这个信号,直接 kill 掉自己 pid(开始启动程序的时候,拿到自己的 pid),然后执行启动自己的脚本,或者等待 supervisor 来启动.
自己没试验过哈. ``` s := make(chan os.Signal, 1) signal.Notify(s, syscall.SIGUSR2) go func() { for { <-s execcmd() fmt.Println("ReLoad") } }() ``` |
8
MeteorCat 2018-03-01 18:34:54 +08:00 via Android
systemctl 学习下,常驻应用都需要用到
|
9
codehz 2018-03-01 22:37:54 +08:00
linux 下直接 exec 不就好了(还可以保留源 pid
|