用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
相关推荐
### Golang守护进程用法详解 #### 一、引言 在现代软件开发中,守护进程(Daemon)是一种常见的后台运行程序,它们通常用于提供持续的服务而不会干扰用户的正常操作。Golang作为一种高效的编程语言,提供了简洁的...
本教程将围绕“使用Golang开发的兼容Linux、Windows、Mac的守护程序”这一主题,深入探讨如何利用Go语言来实现跨平台的守护进程开发。 首先,让我们理解守护进程(Daemon)的概念。在操作系统中,守护进程是一种在...
go-daemon 使用 Go 编写系统守护进程的库。目前仅支持基于 UNIX 的操作系统(不支持 Windows)。但该库仅在 Linux 和 OSX 上进行了测试,因此如果您有能力在其他平台上测试该库,请给我反馈(#26)。请随时向我发送...
dcrd, 在( golang ) 中,Decred守护进程 dcrddcrd是一个Decred完全 node 实现,用 go ( golang ) 编写。它充当 Decred cryptocurrency的链守护进程。 dcrd维护整个Decred的过去事务分类帐,并允许将事务传送到世界上...
在本项目中,我们关注的是一个使用Go语言(Golang)编写的Windows系统后台服务程序,该服务的主要功能是24小时全天候监控指定的进程(即“守护进程”),在发现服务进程宕机时自动进行重启操作,并且能够记录相关的...
这个项目"ole_golang_tryout_daemon"就是对Go语言实现跨平台守护进程的一个尝试。 项目名称"ole_golang_tryout_daemon"表明它是一个实验性的项目,旨在测试和验证如何在Go中实现跨平台的守护进程功能。"ole_golang_...
Go 编程语言的自动完成守护进程Go 编程语言的自动完成守护进程重要提示该项目不再维护,请考虑使用https://pkg.go.dev/golang.org/x/tools/gopls,这是一个由 Go 团队创建和维护的工具,提供类似功能及更多功能。...
Go-HyperContainer守护进程是基于Go语言开发的一个高级容器管理工具,它被设计用来提供轻量级的虚拟化解决方案,以提升容器的隔离性和安全性。HyperContainer守护进程(hyperd)是这个系统的核心组件,负责管理和...
用golang编写的cron守护程序 受启发 使用 Docker映像 在 webdevops/go-crond:alpine (基于alpine ) webdevops/go-crond:ubuntu (基于ubuntu:latest ) webdevops/go-crond:debian (基于debian:stable-slim )...
RedisHappy 提供了一个守护进程来监控此提升并告知外界此情况已发生。目前我们通过 redishappy-haproxy支持HAProxy ,通过 redishappy-consul 支持Consul。特征Redis Sentinels 的自动发现和健康检查。可扩展支持...
Go-gocode是一个专门为Go编程语言设计的代码自动补全工具,它作为一个守护进程运行,为开发者提供实时的代码补全建议,极大地提升了编码效率。在Go语言的开发环境中,gocode是一个非常重要的辅助工具,特别是在编写...
守护进程与Go(golang)服务一起使用的守护程序包例子最简单的示例(只需将self安装为守护程序) package mainimport ( "fmt" "log" "github.com/takama/daemon")func main () { service , err := daemon ....
可配置的零停机守护进程(TCP / HTTP / FCGI)框架使用golang编写。 它只需要集成对gozd.Daemonize()的一个简单调用即可。 然后您将获得: 在绝对零停机时间的情况下升级二进制文件/服务。 高可用性! 在同一...
守护进程 用于在Go中编写系统守护程序的库。 现在仅支持基于UNIX的操作系统(不支持Windows)。 但是该库仅在Linux和OSX上进行了测试,因此,如果您有能力在其他平台上进行测试,请给我反馈(#26)。 请随时向我...
- **Docker**:Docker的守护进程就是用Go编写的,体现了Go在系统编程上的优势。 - **Kubernetes**:Kubernetes的API服务器和控制器大量使用了Go,得益于其并发和性能特性。 - **Gin框架**:Gin是一个基于Go的web...
ergonomadic是一个基于Go语言编写的IRC(Internet Relay Chat)守护进程。IRC是一种实时通信协议,主要用于在线聊天、协作和信息分享。这个项目可能是杰里米的遗产,他在社区中留下了深刻的印记,他的贡献被人们怀念...
pmon2 golang进程管理工具(golang进程管理器),专门用于go常驻进程管理(守护程序管理器)启动进程sudo pmon2 run [. /二进制进程文件] [参数1 ] ...介绍Go官方一直没有提供任何进度管理工具,对于Go服务的部署,...
go-audit 是许多发行版附带的 auditd 守护程序的替代品去审计关于go-audit 是许多发行版附带的 auditd 守护进程的替代品。在创建了auditd audisp插件将审计日志转换为 json 后,我开始对创建现有守护进程的替代品感...
4. **守护进程模式**:goconfd可以作为守护进程运行,持续监听配置变化,确保配置始终是最新的。 5. **安全与权限**:goconfd可以通过认证和授权机制保护配置的安全,避免未经授权的访问和修改。 **使用goconfd** ...