Haskell Angel을 통한 프로세스 모니터링

Haskell Angel을 통한 프로세스 모니터링

Haskell의 엔젤 프로세스 모니터링 도구를 사용하여 프로세스를 모니터링하려고 합니다. https://github.com/MichaelXavier/Angel 모든 종류의 HUP 신호를 수신하지 않고 프로세스가 실행되면 무한 루프에서 프로세스가 계속 다시 시작됩니다.

아래를 참조하세요...

[2013/12/18 22:25:15] {- program: ls -} RESTART
[2013/12/18 22:25:15] {- program: ls -} START
[2013/12/18 22:25:15] {- program: ls -} Spawning process with env Just []
[2013/12/18 22:25:15] {- program: ls -} RUNNING
[2013/12/18 22:25:15] {- program: ls -} ENDED
[2013/12/18 22:25:15] {- program: ls -} WAITING
[2013/12/18 22:25:22] {- program: ls -} RESTART
[2013/12/18 22:25:22] {- program: ls -} START
[2013/12/18 22:25:22] {- program: ls -} Spawning process with env Just []
[2013/12/18 22:25:22] {- program: ls -} RUNNING
[2013/12/18 22:25:22] {- program: ls -} ENDED
[2013/12/18 22:25:22] {- program: ls -} WAITING
[2013/12/18 22:25:29] {- program: ls -} RESTART
[2013/12/18 22:25:29] {- program: ls -} START
[2013/12/18 22:25:29] {- program: ls -} Spawning process with env Just []
 ... etc

웹 서버를 실행하려고 할 때뿐 아니라 예제 앱에서도 이 작업을 수행합니다. 여기 내 conf 파일이 있습니다 (예제에서 바로)

ls {
    exec = "ls"
    stdout = "/tmp/ls_log"
    stderr = "/tmp/ls_log"
    delay = 7
}

나는 천사에게 +x 권한을 부여했습니다.

왜 무한히 다시 시작되는지에 대한 아이디어가 있습니까?

답변1

이것은 의도적으로 설계된 것입니다. ls가 완료되면 angel은 7초 동안 기다렸다가 다시 시작합니다. 다시 한 번, ls는 즉시 종료되고 angel은 반복하기 전에 7초를 기다립니다...

답변2

시도해 볼 수 있나요?

ls_lala { exec = "ls" stdout = "/tmp/ls_log" stderr = "/tmp/ls_log" 지연 = 7 }

구조체 이름이 실행될 앱과 동일하기 때문에 무한 루프에 빠질 수 있습니다.

관련 정보