2011-09-24 2 views

답변

4

프로세스가 종료되면 Monit과 같이 사용할 수 있습니다. 간략한 설명 :

Monit은 프로세스가 실행되지 않으면 프로세스를 시작하고 응답하지 않으면 프로세스를 다시 시작하고 리소스가 너무 많이 사용되면 프로세스를 중지 할 수 있습니다.

일반적으로 응용 프로그램을 "다시 시작할 수있게"코딩하면 충분히 신뢰할 수 없습니다. 누군가 kill -9을 사용하여 응용 프로그램을 종료하면 응용 프로그램은 이에 응답 할 수 없습니다. 따라서 어떤 유형의 데몬이나 워치 독이 필요합니다.

+0

이것은 정확히 내가 필요한 것입니다. 감사합니다! – Ephemeralis

0

Mono를 사용 해본 적이 없기 때문에 Linux에서 작동하는지 잘 모르겠지만 Process.Exited 이벤트에 연결하는 것이 좋습니다. 종료에 그래서 당신이 뭔가를 할 수 http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx

을 Process.Exited

...

-start 과정 -hook (난 당신이 Process 클래스 사용하여 응용 프로그램을 시작하고 있으리라 믿고있어) 종료 이벤트까지 이벤트

-wait가 종료 이벤트

01에

-start 과정 -hook라고

행운을 빌어 요!

0

수퍼 유저로 이동하는 것이 좋습니다.

사용하려는 모노에는 본질적으로 아무 것도 없습니다. Mono에서 Watchdog 응용 프로그램을 만들어 프로세스가 항상 실행되고 있는지 확인하고 이미 수행 할 수있는 Linux 스크립트 및 응용 프로그램이 많이 있는지 확인할 수 있습니다. Monit이 그 예입니다.

또는 /etc/inittab에 들어가서 respawn이라는 행을 찾아 거기에 데몬을 추가 할 수 있습니다. init은 프로세스가 항상 실행 중인지 확인합니다.

다음은 모노 용으로 수정할 수있는 Java 용 데몬 시작 스크립트의 예입니다. http://shrubbery.homeip.net/c/display/W/Java+Daemon+Startup+Script

관련 문제