From dcdd0cc2bb455fe689eab0f80aef7c0ab2419fa7 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Mon, 23 Sep 2024 14:31:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=8C=85=E5=90=AB=20.socket=20=E6=97=B6=E8=B5=B7=E5=81=9C?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98=20(#6553)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs #6524 --- backend/app/service/docker.go | 11 ++++++++++- backend/app/service/ssh.go | 10 ++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/backend/app/service/docker.go b/backend/app/service/docker.go index ede6a1e02..300926ac7 100644 --- a/backend/app/service/docker.go +++ b/backend/app/service/docker.go @@ -10,8 +10,10 @@ import ( "github.com/1Panel-dev/1Panel/backend/app/dto" "github.com/1Panel-dev/1Panel/backend/constant" + "github.com/1Panel-dev/1Panel/backend/global" "github.com/1Panel-dev/1Panel/backend/utils/cmd" "github.com/1Panel-dev/1Panel/backend/utils/docker" + "github.com/1Panel-dev/1Panel/backend/utils/systemctl" "github.com/pkg/errors" ) @@ -336,8 +338,15 @@ func (u *DockerService) UpdateConfByFile(req dto.DaemonJsonUpdateByFile) error { func (u *DockerService) OperateDocker(req dto.DockerOperation) error { service := "docker" + sudo := cmd.SudoHandleCmd() if req.Operation == "stop" { - service = "docker.socket" + isSocketActive, _ := systemctl.IsActive("docker.socket") + if isSocketActive { + std, err := cmd.Execf("%s systemctl stop docker.socket", sudo) + if err != nil { + global.LOG.Errorf("handle systemctl stop docker.socket failed, err: %v", std) + } + } } stdout, err := cmd.Execf("systemctl %s %s ", req.Operation, service) if err != nil { diff --git a/backend/app/service/ssh.go b/backend/app/service/ssh.go index 4b062c957..1f511d206 100644 --- a/backend/app/service/ssh.go +++ b/backend/app/service/ssh.go @@ -124,6 +124,16 @@ func (u *SSHService) OperateSSH(operation string) error { if operation == "enable" || operation == "disable" { serviceName += ".service" } + if operation == "stop" { + isSocketActive, _ := systemctl.IsActive(serviceName + ".socket") + if isSocketActive { + std, err := cmd.Execf("%s systemctl stop %s", sudo, serviceName+".socket") + if err != nil { + global.LOG.Errorf("handle systemctl stop %s.socket failed, err: %v", serviceName, std) + } + } + } + stdout, err := cmd.Execf("%s systemctl %s %s", sudo, operation, serviceName) if err != nil { if strings.Contains(stdout, "alias name or linked unit file") {