golang 守护进程管理

添加守护进程

vim /etc/systemd/system/xxx.service

sh 复制代码
[Unit]
Description=Go Socket Service
After=network.target

[Service]
Type=simple
ExecStart=/data/quwan/quwan_ws
WorkingDirectory=/data/quwan
# 停止前发送信号
ExecStop=/bin/kill -SIGTERM $MAINPID
# 如果超过20s 进程还没停止,则强制重启
TimeoutStopSec=20s
Restart=always
# 重启在1s后重启
RestartSec=1s
# 标准输出到固定文件
StandardOutput=append:/data/quwan/output.log
#StandardOutput=file:/data/quwan/output.log
StandardError=inherit

[Install]
WantedBy=multi-user.target

执行 sudo systemctl daemon-reload

使用脚本启动

sh 复制代码
#!/bin/sh

if [ "$1" = "status" ]; then
  # 只显示状态和版本信息
  ./mq_quwan -v
  systemctl status mq_baobao.service
else
  # 默认重启服务并显示状态
  ./mq_quwan -v
  systemctl restart mq_baobao.service
  systemctl status mq_baobao.service
fi


#sudo systemctl daemon-reload
# sudo systemctl start baobao_go.service
# sudo systemctl enable baobao_go.service
# sudo systemctl status baobao_go.service
相关推荐
搬码后生仔14 小时前
【navicat不安装sql server直接远程连接服务器数据库】
运维·服务器·数据库
tingting011914 小时前
dns域名信息收集
linux·服务器·前端
JiaWen技术圈15 小时前
nf_tables 架构深度详解(内核级完整架构)
linux·服务器·安全·运维开发
KeyonY15 小时前
车联网规则引擎设计之热更新与版本管理
redis·golang·车联网
志栋智能15 小时前
跨越人机边界:超自动化巡检如何重塑工作流程?
运维·网络·人工智能·安全·自动化
仍然.15 小时前
网络编程(一)---传输层协议和UDP数据报套接字编程
网络·网络协议·udp
zzipeng15 小时前
IMX6ULL CAN通讯应用学习
linux·运维·网络
乌托邦的逃亡者15 小时前
Ubuntu主机中,为一个网卡设置多个IP地址
服务器·网络·ubuntu
环流_15 小时前
NAT工作机制(中间人为请求和响应搭桥牵线)
网络·智能路由器
咬_咬15 小时前
go语言学习(函数)
开发语言·学习·golang