Mono에서 일하는 데 상당히 익숙하며 리눅스 환경에서 콘솔 응용 프로그램을 강제로 다시 시작하도록 할 수있는 방법을 알고 싶습니다. 이 일을 어떻게 하죠?C# (Mono) : 프로그램 실패시 다시 시작
답변
프로세스가 종료되면 Monit과 같이 사용할 수 있습니다. 간략한 설명 :
Monit은 프로세스가 실행되지 않으면 프로세스를 시작하고 응답하지 않으면 프로세스를 다시 시작하고 리소스가 너무 많이 사용되면 프로세스를 중지 할 수 있습니다.
일반적으로 응용 프로그램을 "다시 시작할 수있게"코딩하면 충분히 신뢰할 수 없습니다. 누군가 kill -9
을 사용하여 응용 프로그램을 종료하면 응용 프로그램은 이에 응답 할 수 없습니다. 따라서 어떤 유형의 데몬이나 워치 독이 필요합니다.
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라고
행운을 빌어 요!
수퍼 유저로 이동하는 것이 좋습니다.
사용하려는 모노에는 본질적으로 아무 것도 없습니다. Mono에서 Watchdog 응용 프로그램을 만들어 프로세스가 항상 실행되고 있는지 확인하고 이미 수행 할 수있는 Linux 스크립트 및 응용 프로그램이 많이 있는지 확인할 수 있습니다. Monit이 그 예입니다.
또는 /etc/inittab
에 들어가서 respawn이라는 행을 찾아 거기에 데몬을 추가 할 수 있습니다. init
은 프로세스가 항상 실행 중인지 확인합니다.
다음은 모노 용으로 수정할 수있는 Java 용 데몬 시작 스크립트의 예입니다. http://shrubbery.homeip.net/c/display/W/Java+Daemon+Startup+Script
- 1. 스마트 소프트웨어 설치 프로그램 - 마지막 실패시 다시 시작
- 2. Python 프로그램 다시 시작
- 3. C#을 시작 프로그램
- 4. 프로그램 시작 (Windows 시작)
- 5. 다시 시작 C#을 스레드
- 6. SharePoint 응용 프로그램 풀 다시 시작 - 효과?
- 7. 다시 시작 윈도우 응용 프로그램 사용하여 점
- 8. 다시 시작 프로그램 실행 처리되지 않은 예외를
- 9. 단일 인스턴스 응용 프로그램 다시 시작
- 10. 셸 명령을 사용하여 PHP 프로그램 다시 시작
- 11. 창으로 프로그램 시작 하시겠습니까? C#
- 12. Visual C# 프로그램 자체를 다시 시작하는 방법
- 13. 유효성 검사 실패시 라디오 단추 다시 채우기
- 14. 일시적인 액터 실패시 다시 구현하는 방법?
- 15. 다시 시작 Teambox 서버
- 16. C# -Mono (플랫폼 독립성)
- 17. 백그라운드에서 C#/Mono 실행 서버
- 18. C#에서 Windows 서비스 다시 시작
- 19. Visual C#에서 기능 다시 시작
- 20. .NET에서 스레드를 다시 시작
- 21. Mono-Droid 응용 프로그램 디버깅 및 실행
- 22. 시작 응용 프로그램의 중앙에서 열리는 프로그램 시작
- 23. 모든 파일을 포함하여 C#에서 프로그램 시작
- 24. 브라우저에서 C# .Net 응용 프로그램 시작. 가능한?
- 25. C#에서 다른 응용 프로그램 시작
- 26. Windows 서비스를 통한 프로그램 시작 C#
- 27. C++로 스레드에서 응용 프로그램 시작
- 28. OS에서 c 명령으로 응용 프로그램 시작
- 29. 시작 응용 프로그램 용 GetCurrentDirectory. C++
- 30. 프로그램 시작 후 Java 에이전트 시작
이것은 정확히 내가 필요한 것입니다. 감사합니다! – Ephemeralis