华域联盟 Golang golang守护进程用法示例

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守护进程用法示例

转载请保留出处和原文链接:https://www.cnhackhy.com/110135.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

Go语言eclipse环境搭建图文教程

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们