Merge pull request #74 from tendermint/73-undefined-syscall-kill

use os.Process#Kill (Fixes #73)
This commit is contained in:
Anton Kaliaev 2017-11-04 09:07:03 -05:00 committed by GitHub
commit ac0cf0b2e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 3 deletions

View File

@ -35,6 +35,8 @@ func GoPath() string {
return path
}
// TrapSignal catches the SIGTERM and executes cb function. After that it exits
// with code 1.
func TrapSignal(cb func()) {
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
@ -50,10 +52,13 @@ func TrapSignal(cb func()) {
select {}
}
// Kill the running process by sending itself SIGTERM
// Kill the running process by sending itself SIGTERM.
func Kill() error {
pid := os.Getpid()
return syscall.Kill(pid, syscall.SIGTERM)
p, err := os.FindProcess(os.Getpid())
if err != nil {
return err
}
return p.Signal(syscall.SIGTERM)
}
func Exit(s string) {