From cee69a4837f681ec8ee0ae27b9bb3b6142b1097f Mon Sep 17 00:00:00 2001 From: Karn Wong Date: Tue, 18 Jun 2024 16:25:58 +0700 Subject: [PATCH] move proxy cleanup --- cmd/connect.go | 15 +-------------- cmd/utils_proxy.go | 11 +++++++++++ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/cmd/connect.go b/cmd/connect.go index ab9a679..40980d5 100644 --- a/cmd/connect.go +++ b/cmd/connect.go @@ -2,10 +2,8 @@ package cmd import ( "fmt" - "log" "os" "os/exec" - "syscall" "github.com/spf13/cobra" ) @@ -60,7 +58,7 @@ var connectCmd = &cobra.Command{ // clean up proxy PID if connInfo.ProxyKind != "" { - cleanup(proxyCmd) + killProxyPid(proxyCmd) } }, } @@ -68,14 +66,3 @@ var connectCmd = &cobra.Command{ func init() { rootCmd.AddCommand(connectCmd) } - -// functions -func cleanup(cmd *exec.Cmd) { - pgid, err := syscall.Getpgid(cmd.Process.Pid) - if err == nil { - err = syscall.Kill(-pgid, syscall.SIGKILL) - if err != nil { - log.Fatal(err) - } - } -} diff --git a/cmd/utils_proxy.go b/cmd/utils_proxy.go index 1e5e4c4..0f4720f 100644 --- a/cmd/utils_proxy.go +++ b/cmd/utils_proxy.go @@ -2,6 +2,7 @@ package cmd import ( "fmt" + "log" "math/rand" "os" "os/exec" @@ -46,3 +47,13 @@ func CreateProxy(c Connection) (*exec.Cmd, int) { return cmd, port } + +func killProxyPid(cmd *exec.Cmd) { + pgid, err := syscall.Getpgid(cmd.Process.Pid) + if err == nil { + err = syscall.Kill(-pgid, syscall.SIGKILL) + if err != nil { + log.Fatal(err) + } + } +}