저는 .net 4.0 모노 서비스를 작성하고 이를 Raspberry Pi에서 호스팅했습니다.
이는 다음 코드가 포함된 .sh 파일을 통해 시스템 시작 시 실행됩니다.
cd /var/supernovaServer
mono-service -l:/var/supernovaServer/snserver.lock /var/supernovaServer/snserver.exe
일정 시간, 때로는 몇 시간, 때로는 며칠이 지나면 프로세스가 종료되고 snserver.lock 파일은 그대로 유지됩니다. StreamWriter를 통해 작성한 사용자 정의 로깅 코드가 마지막 몇 개의 메시지를 플러시하지 않는 것 같고, 확인해 보니 사용자 정의 로그 파일이 불완전한 것 같습니다.
이 문제를 진단하고 서비스 종료를 방지하려면 어떤 조치를 취해야 합니까? 즉, 볼 수 있는 모노 로그 파일이 있습니까? 나는 아직 Linux를 처음 접했기 때문에 어떤 조언이라도 감사하겠습니다.
답변1
애플리케이션의 PID에 대해 strace를 실행하고 로그를 출력할 수 있습니다 strace
(몇 시간 또는 며칠이 걸릴 경우 디스크를 많이 사용하게 될 준비를 하십시오).
다른 전략에서는 GDB 디버거를 사용하거나 다음 옵션 mono
으로 시작할 수 있습니다.--debug