发布于 2016-07-31 03:25:47 | 183 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的GO语言教程,程序狗速度看过来!

Go语言

Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。Go是谷歌2009年发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言。


这篇文章主要介绍了golang守护进程用法,结合实例形式分析了Go语言守护进程的具体实现与使用技巧,需要的朋友可以参考下

本文实例讲述了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语言程序设计有所帮助。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务