本文实例讲述了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,守护进程
更新动态
- HI-FI顶级人声测试天碟《试音刀郎DXD》[WAV+CUE]
- 群星《惜花芷 影视原声带》[FLAC/分轨][281.23MB]
- 张国荣《风继续吹》[DSF][1.1G]
- 《海来阿木单曲91首合集》[WAV分轨][4G]
- 群星《慢HIGH舞王DISGO之反射》【WAV/整轨】
- 张德兰《心》wav
- 吴奇露1992追风少年》[WAV分轨]
- 老虎鱼DavidRoth-MorePearls-24bit44.1kHz[FLAC]
- 赵传1999-勇敢一点[台湾首版][WAV]
- 姚希《陌生人HQCD》[WAV]
- 陈奕迅《打得火热》[FLAC 192kHz 24bit][1.5G]
- 秦铭遥 《当爱在靠近》 HOCDII [低速原抓WAV+CUE][506M]
- 张玮伽《一生所爱》[DSF][1.5G]
- 张信哲《思念(粤语) 》[WAV分轨][433M]
- 原声《重庆森林电影原声带》[FLAC][498M]