From aa179a02f3cdb7b0f2a7f72b4019a5e4740a3d35 Mon Sep 17 00:00:00 2001 From: lwch Date: Wed, 16 Nov 2022 17:15:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0restart=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yml | 1 - agent.go | 9 +++++++++ service.go | 1 + service_windows_386.go | 8 ++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5f8ce41..3b0d140 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,6 @@ jobs: strategy: matrix: os: - - ubuntu-18.04 - ubuntu-20.04 - ubuntu-22.04 - windows-2019 diff --git a/agent.go b/agent.go index 1181e81..f901478 100644 --- a/agent.go +++ b/agent.go @@ -100,3 +100,12 @@ func Status(app App) (service.Status, error) { } return svc.Status() } + +// Restart 重启agent +func Restart(app App) error { + svc, err := newService(app) + if err != nil { + return err + } + return svc.Restart() +} diff --git a/service.go b/service.go index b260086..3be83eb 100644 --- a/service.go +++ b/service.go @@ -8,6 +8,7 @@ type builtinService interface { Run() error Start() error Stop() error + Restart() error Status() (service.Status, error) Platform() string } diff --git a/service_windows_386.go b/service_windows_386.go index 2f35748..499cec3 100644 --- a/service_windows_386.go +++ b/service_windows_386.go @@ -185,3 +185,11 @@ func (svr *svr) Status() (service.Status, error) { return service.StatusUnknown, nil } } + +func (svr *svr) Restart() error { + err := svr.Stop() + if err != nil { + return err + } + return svr.Start() +}