fix(cmd): propagate sigterm to spawned processes (#1927)

propagate sigterm to spawned processes
This commit is contained in:
Jo 2023-02-21 03:49:33 +01:00 committed by GitHub
parent 3ef4664d99
commit 61f1bdf291
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,7 @@ import (
"os"
"os/exec"
"strings"
"syscall"
"github.com/Jguer/yay/v11/pkg/text"
)
@ -18,12 +19,19 @@ type OSRunner struct{}
func (r *OSRunner) Show(cmd *exec.Cmd) error {
cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr
cmd.SysProcAttr = &syscall.SysProcAttr{
Pdeathsig: syscall.SIGTERM,
}
text.Debugln("running", cmd.String())
return cmd.Run()
}
func (r *OSRunner) Capture(cmd *exec.Cmd) (stdout, stderr string, err error) {
text.Debugln("capturing", cmd.String())
cmd.SysProcAttr = &syscall.SysProcAttr{
Pdeathsig: syscall.SIGTERM,
}
outbuf, err := cmd.Output()
stdout = strings.TrimSpace(string(outbuf))