diff --git a/replacer/main.go b/replacer/main.go index 4d93489..ff91436 100644 --- a/replacer/main.go +++ b/replacer/main.go @@ -8,8 +8,6 @@ import ( "os" "os/exec" "path" - "strconv" - "syscall" "time" ) @@ -61,31 +59,12 @@ func main() { // args[3:] : 다시 시작할 때 넘겨줄 arguments(프로세스 이름 포함) stdlog.Println(args) - pid, err := strconv.Atoi(args[1]) - if err != nil { - stdlog.Fatal(err) - } - for { stdlog.Println("wait for terminating of", args[3]) - proc, err := os.FindProcess(pid) - if err != nil { - stdlog.Println("FindProcess error :", err) + cmd := exec.Command("ps", "-p", args[1]) + if err := cmd.Run(); err != nil { 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) } @@ -119,7 +98,7 @@ func main() { } } - err = os.RemoveAll(args[2]) + err := os.RemoveAll(args[2]) if err != nil { stdlog.Println("os.RemoveAll failed :", args[2], err) }