littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于 Go 语言的进程管理系统

项目简介

gpm(golang process manager)是 Go 语言版本的进程管理工具,由 gpmd(管理进程)和 gpm(客户端工具)两部分组成。借助 Go 优秀的跨平台能力,gpm 支持 mac、linux、windows 三种平台,可实现对服务的全方位管理及相关操作。

项目的主要特性和功能

  1. 服务全生命周期管理:支持服务的创建、安装、删除、启动、停止、重启、升级、版本回滚等操作,确保服务的正常运行与灵活管理。
  2. 日志管理:对服务日志进行监听、切分以及过期清理,方便用户对服务运行情况进行跟踪和分析。
  3. FTP 功能:可查看远程目录结构,实现文件的上传和下载,还能远程执行命令,提升远程操作的便捷性。
  4. 跨平台支持:能够在 mac、linux、windows 三个平台上一致运行,满足不同用户的使用需求。

安装使用步骤

安装

解压后执行命令: shell $ ./gpm deploy

gpmd 相关服务操作

  • 启动 gpmd: bash $ gpm run
  • 停止 gpmd: shell $ gpm shutdown
  • 查看 gpmd 信息: shell $ gpm info -o wide 支持 -o wide|json|yaml 三种格式输出。
  • 检测 gpmd 状态: shell $ gpm health
  • gpmd 升级: 本地升级: shell $ ./linux/gpm update 远程升级: shell $ ./linux/gpm --host 192.168.1.10:33700 --package ./gpm

服务操作

  • 创建压缩包: shell $ gpm tar --name /tmp/test.tar.gz --target /opt/test/pp/bin
  • 安装服务: shell $ gpm install --host 192.168.1.10:33700 --package /tmp/test.tar.gz --name test --dir /opt/test --bin /opt/test/bin/test --auto-restart --version v1.0.0
  • 查看所有服务: shell $ gpm list
  • 查看服务详细信息: shell $ gpm get --name test 支持 -o wide|json|yaml 三种格式输出。
  • 启动、停止、重启服务: shell $ gpm start --name test $ gpm stop --name test $ gpm reboot --name test
  • 创建服务: shell $ gpm create --name gtest --dir /opt/test --bin /opt/test/bin/test --auto-restart --version v1.0.0
  • 升级服务: shell $ gpm upgrade --name test --package /tmp/test.tar.gz --version v2.0.0
  • 查看服务的历史版本: shell $ gpm version --name test
  • 版本回滚: shell $ gpm rollback --name test --revision v1.2.8
  • 修改服务参数: shell $ gpm edit --name test --env "a=b"
  • 查看服务日志: shell $ gpm tail --name test 添加 -f 选项可监听日志变化。
  • 删除服务: shell $ gpm delete --name test

其他命令

  • 查看远程文件系统信息: shell $ gpm ls --path /tmp/san/
  • 执行远程命令: shell $ go run cmd/gpm/main.go --host 192.168.3.111:33700 exec --cmd "ls" --A "/tmp/san"
  • 上传文件: shell $ gpm --host 192.168.3.111:33700 push --src /tmp/1.txt --dst /tmp/1.txt
  • 下载文件: shell $ gpm pull --src /tmp/1.txt --dst /tmp/11.txt

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】