golang守护进程用法示例

本文实例讲述了golang守护进程用法。分享给大家供大家参考,具体如下:

专注于为中小企业提供成都网站建设、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业通城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

用node写了一个socket后台服务,可是有时候会挂,node一个异常就game over了,所以写了一个守候.

复制代码 代码如下:
package main
import (
        "log"
        "os"
        "os/exec"
        "time"
)
func main() {
        lf, err := os.OpenFile("angel.txt", os.O_CREATE | os.O_RDWR | os.O_APPEND, 0600)
        if err != nil {
                os.Exit(1)
        }
        defer lf.Close()
        // 日志
        l := log.New(lf, "", os.O_APPEND)
        for {
                cmd := exec.Command("/usr/local/bin/node", "/*****.js")
                err := cmd.Start()
                if err != nil {
                        l.Printf("%s 启动命令失败", time.Now().Format("2006-01-02 15:04:05"), err)
                        time.Sleep(time.Second * 5)
                        continue
                }
                l.Printf("%s 进程启动", time.Now().Format("2006-01-02 15:04:05"), err)
                err = cmd.Wait()
                l.Printf("%s 进程退出", time.Now().Format("2006-01-02 15:04:05"), err)
                time.Sleep(time.Second * 1)
        }
}

这里还有一个shell实现的. 记得给予执行权限哦,chmod +x you_command

复制代码 代码如下:
#! /bin/bash
while true; do
    ./you_command
done

希望本文所述对大家Go语言程序设计有所帮助。


本文标题:golang守护进程用法示例
文章网址:http://csruizhi.cn/article/gdejdd.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 营销网站建设 温江网站设计 成都网站制作 宜宾网站设计 成都网站建设 广安网站设计 网站建设改版 网站建设 成都网站设计制作公司 成都企业网站设计 成都网站建设 网站建设开发 品牌网站建设 定制网站建设 网站制作 企业网站设计 响应式网站设计方案 重庆网站建设 企业网站设计 手机网站制作 企业网站设计 古蔺网站建设