[go] go 언어의 exec 패키지를 사용하여 프로세스 감시하는 방법
Go 언어를 사용하여 프로세스를 실행하고 그 상태를 감시하는 것은 매우 중요한 작업일 수 있습니다. exec 패키지를 사용하여 외부 프로그램을 실행할 때 이를 감시할 수 있습니다. 이번 블로그에서는 Go 언어의 exec 패키지를 사용하여 프로세스를 실행하고 감시하는 방법에 대해 알아보겠습니다.
exec 패키지 소개
exec 패키지는 외부 명령이나 프로그램을 실행하는 데 사용됩니다. 이 패키지를 사용하여 프로세스를 실행하고 감시할 수 있습니다.
package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-l")
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
}
위의 예제에서는 exec 패키지를 사용하여 “ls -l” 명령을 실행하고 있습니다.
프로세스 감시
프로세스를 실행한 후에는 해당 프로세스의 상태를 주기적으로 감시할 수 있습니다. 감시에 사용되는 주요 메서드는 ProcessState
구조체의 메서드인 ExitCode()
와 Exited()
입니다.
package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-l")
err := cmd.Run()
if err != nil {
log.Fatal(err)
}
state := cmd.ProcessState
if state.Exited() {
fmt.Println("프로세스가 종료되었습니다. 종료 코드:", state.ExitCode())
}
}
결론
Go 언어의 exec 패키지를 사용하여 프로세스를 실행하고 감시하는 방법을 살펴보았습니다. 이를 통해 외부 프로그램을 실행하고 해당 프로세스의 상태를 감시할 수 있는 방법에 대해 이해할 수 있습니다.
더 많은 정보를 원하신다면 공식 Go 언어 문서를 참고해보세요.