From 22ad31b1275576f0efd45e0bc0c061fd86fb7322 Mon Sep 17 00:00:00 2001 From: Boshi Lian Date: Sun, 18 May 2025 00:14:47 -0700 Subject: [PATCH] Add go-reaper integration for process reaping (#580) * Add go-reaper integration for process reaping * refactor: move reaper initialization to cmd_linux.go --- cmd/sshpiperd/cmd_linux.go | 6 ++++++ go.mod | 1 + go.sum | 3 +++ 3 files changed, 10 insertions(+) diff --git a/cmd/sshpiperd/cmd_linux.go b/cmd/sshpiperd/cmd_linux.go index 0debc0d6..98d40144 100644 --- a/cmd/sshpiperd/cmd_linux.go +++ b/cmd/sshpiperd/cmd_linux.go @@ -5,8 +5,14 @@ package main import ( "os/exec" "syscall" + + reaper "github.com/ramr/go-reaper" ) +func init() { + go reaper.Reap() +} + func setPdeathsig(cmd *exec.Cmd) { cmd.SysProcAttr = &syscall.SysProcAttr{Pdeathsig: syscall.SIGTERM} } diff --git a/go.mod b/go.mod index b0478fb2..9fc8a9dd 100644 --- a/go.mod +++ b/go.mod @@ -12,6 +12,7 @@ require ( github.com/google/uuid v1.6.0 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pires/go-proxyproto v0.8.1 + github.com/ramr/go-reaper v0.2.3 github.com/sirupsen/logrus v1.9.3 github.com/tg123/go-htpasswd v1.2.4 github.com/tg123/jobobject v0.1.0 diff --git a/go.sum b/go.sum index 99fc9b44..099eeab0 100644 --- a/go.sum +++ b/go.sum @@ -120,6 +120,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pquerna/otp v1.5.0 h1:NMMR+WrmaqXU4EzdGJEE1aUUI0AMRzsp96fFFWNPwxs= github.com/pquerna/otp v1.5.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= +github.com/ramr/go-reaper v0.2.3 h1:2dSj+5SaIiWr6Lzaq2J7Fok0vUuF4zK1AmsE6iuxyao= +github.com/ramr/go-reaper v0.2.3/go.mod h1:bgru3llkYWSj8qb6akpA0sh0pq468OQ5wqvFT3BFHsE= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= @@ -229,6 +231,7 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=