我就想强制快速重启,数据丢失也无所谓,看了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 
                    
                    keepfun      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 
                 |