diff --git a/pkg/settings/exe/exec.go b/pkg/settings/exe/exec.go index 41732d1d2..de03b0e7a 100644 --- a/pkg/settings/exe/exec.go +++ b/pkg/settings/exe/exec.go @@ -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))