summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/terminal_unix.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/terminal_unix.go b/src/terminal_unix.go
index 4cee73b0..1ce7854e 100644
--- a/src/terminal_unix.go
+++ b/src/terminal_unix.go
@@ -7,6 +7,8 @@ import (
"os/signal"
"strings"
"syscall"
+
+ "golang.org/x/sys/unix"
)
func notifyOnResize(resizeChan chan<- os.Signal) {
@@ -14,7 +16,12 @@ func notifyOnResize(resizeChan chan<- os.Signal) {
}
func notifyStop(p *os.Process) {
- p.Signal(syscall.SIGSTOP)
+ pid := p.Pid
+ pgid, err := unix.Getpgid(pid)
+ if err == nil {
+ pid = pgid * -1
+ }
+ unix.Kill(pid, syscall.SIGSTOP)
}
func notifyOnCont(resizeChan chan<- os.Signal) {