Merge branch 'master' into kd-live
This commit is contained in:
@ -8,8 +8,6 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path"
|
"path"
|
||||||
"strconv"
|
|
||||||
"syscall"
|
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -61,31 +59,12 @@ func main() {
|
|||||||
// args[3:] : 다시 시작할 때 넘겨줄 arguments(프로세스 이름 포함)
|
// args[3:] : 다시 시작할 때 넘겨줄 arguments(프로세스 이름 포함)
|
||||||
stdlog.Println(args)
|
stdlog.Println(args)
|
||||||
|
|
||||||
pid, err := strconv.Atoi(args[1])
|
|
||||||
if err != nil {
|
|
||||||
stdlog.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
for {
|
for {
|
||||||
stdlog.Println("wait for terminating of", args[3])
|
stdlog.Println("wait for terminating of", args[3])
|
||||||
proc, err := os.FindProcess(pid)
|
cmd := exec.Command("ps", "-p", args[1])
|
||||||
if err != nil {
|
if err := cmd.Run(); err != nil {
|
||||||
stdlog.Println("FindProcess error :", err)
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
if proc == nil {
|
|
||||||
stdlog.Println("FindProcess returns proc nil")
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
stdlog.Println("found proc :", proc.Pid)
|
|
||||||
|
|
||||||
err = proc.Signal(syscall.Signal(0))
|
|
||||||
if err == nil {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
time.Sleep(time.Second)
|
time.Sleep(time.Second)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +98,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err = os.RemoveAll(args[2])
|
err := os.RemoveAll(args[2])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
stdlog.Println("os.RemoveAll failed :", args[2], err)
|
stdlog.Println("os.RemoveAll failed :", args[2], err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user