ProgramChecker는 Windows에서 실행 중인 프로그램을 모니터링하고, 프로그램이 비정상 종료되거나 응답하지 않을 때 자동으로 감지하여 처리하는 도구입니다.
- 🎯 프로세스 모니터링: 지정한 프로그램이 실행 중인지 주기적으로 확인
- 🔄 자동 재시작: 프로세스가 없을 때 자동으로 재시작
- 📊 CPU 사용량 감지: CPU 사용량이 0%로 유지되면 프로그램이 멈춘 것으로 판단하여 종료
- 📝 로그 기록: 모든 작업 내역을 날짜별 로그 파일로 저장
- ⚙️ 설정 저장: 프로그램 종료 시 설정이 자동 저장되어 다음 실행 시 불러옴
- 🔐 권한 선택: 관리자 권한 버전과 일반 모드 버전 제공
- 지정한 프로그램이 실행 중인지 주기적으로 확인
- 프로세스가 없으면 자동으로 재시작
- 프로세스 찾기 방법:
- 프로그램 경로: 정확한 실행 파일 경로로 찾기
- 프로세스 이름: 프로세스 이름으로 찾기 (예:
chrome.exe) - 파일 설명: 실행 파일의 설명 정보로 찾기
- CPU 사용량이 0%로 유지되면 프로그램이 멈춘 것으로 판단
- 설정한 시간 동안 CPU가 0% 유지되면 프로세스 종료
- CPU 사용량이 다시 올라오면 정상 작동으로 판단
- 모든 모니터링 활동을 로그로 기록
- 날짜별로 로그 파일 자동 생성 (
log/checker/YYYY-MM-DD.log) - 실시간 로그 확인 가능
- 프로그램 경로, 프로세스 이름, 체크 간격 등 설정 저장
- 프로그램 종료 시 자동 저장
- 다음 실행 시 자동으로 불러오기
- 운영체제: Windows 10 이상
- 권한: 일부 프로세스 모니터링 시 관리자 권한 필요
-
제공된 실행 파일 중 하나를 선택:
- 관리자 권한 필요 시:
ProgramCheckerAdmin.exe또는ProgramCheckerRunAdmin.exe - 일반 모드:
ProgramChecker.exe또는ProgramCheckerRun.exe
- 관리자 권한 필요 시:
-
실행 파일을 더블클릭하여 실행
- 관리자 권한 버전의 경우 UAC 프롬프트가 나타날 수 있습니다
- 프로그램을 실행하면 창이 열립니다
- 모든 설정과 모니터링을 GUI에서 관리할 수 있습니다
- 백그라운드에서 자동으로 실행됩니다
- GUI 없이 자동으로 모니터링을 시작합니다
config.json파일의 설정을 사용합니다
- 직접 실행 버전은 GUI가 없어서 일반적인 방법으로 종료할 수 없습니다
- 종료하려면 작업 관리자에서
ProgramCheckerRun.exe또는ProgramCheckerRunAdmin.exe프로세스를 찾아 작업 끝내기로 강제 종료해야 합니다 - 다른 프로그램에 이 모니터링 기능을 통합하고 싶다면, 해당 프로그램 종료 시 ProgramCheckerRun 프로세스를 먼저 종료한 후 프로그램을 종료하는 로직을 추가하는 것을 권장합니다
- 예: 프로그램 종료 버튼 클릭 → ProgramCheckerRun 프로세스 종료 → 프로그램 종료
- "찾아보기" 버튼 클릭
- 모니터링할 프로그램의 실행 파일(.exe) 선택
- 선택한 경로가 자동으로 입력됩니다
- 프로그램 경로 대신 프로세스 이름으로도 찾을 수 있습니다
- 예:
chrome.exe,notepad.exe,SAFE VIEW.exe - 프로세스 이름만 입력해도 됩니다
참고: 프로그램 경로와 프로세스 이름 중 하나만 입력해도 됩니다. 둘 다 입력하면 더 정확하게 찾을 수 있습니다.
- 프로그램 상태를 확인하는 주기
- 옵션:
5초,10초,15초,30초,1분,5분,10분,15분,30분,60분 - 기본값:
5초
- CPU 사용량이 0%로 유지될 때 프로세스를 종료하기까지의 시간
- 옵션:
5초,10초,15초,30초,1분,2분,5분 - 기본값:
5초 - 동작 방식:
- CPU 사용량이 0%가 되면 타이머 시작
- 설정한 시간 동안 계속 0% 유지되면 프로세스 종료
- 중간에 CPU 사용량이 올라오면 타이머 리셋
- "모니터링 시작" 버튼 클릭
- 상태 표시가 "모니터링 중..."으로 변경됩니다
- 로그 영역에서 실시간으로 모니터링 상태를 확인할 수 있습니다
- 로그 영역에서 다음 정보를 확인할 수 있습니다:
- 프로세스 찾기 성공/실패
- CPU 사용량 변화
- 프로세스 종료 및 재시작
- 오류 메시지
- 로그는
log/checker/폴더에 날짜별로 저장됩니다 - 파일명 형식:
YYYY-MM-DD.log - 예:
2025-12-19.log
- "모니터링 중지" 버튼을 클릭하면 모니터링이 중지됩니다
- 설정은 자동으로 저장됩니다
프로그램 종료 시 자동으로 저장되는 설정 파일입니다.
{
"program_path": "C:/Program Files/MyApp/MyApp.exe",
"program_name": "MyApp.exe",
"check_interval": "5초",
"cpu_zero_duration": "5초"
}| 항목 | 설명 | 예시 |
|---|---|---|
program_path |
모니터링할 프로그램의 전체 경로 | C:/Program Files/MyApp/MyApp.exe |
program_name |
프로세스 이름 | MyApp.exe |
check_interval |
프로세스 체크 간격 | 5초, 1분 등 |
cpu_zero_duration |
CPU 0% 유지 시간 | 5초, 30초 등 |
- 시스템 프로세스나 보호된 프로세스를 모니터링할 때
- 다른 사용자의 프로세스에 접근해야 할 때
- UAC 프롬프트가 나타나도 괜찮을 때
- 일반 사용자 프로그램만 모니터링할 때
- UAC 프롬프트 없이 실행하고 싶을 때
- 보안 정책상 관리자 권한을 사용할 수 없을 때
원인:
- 프로그램 경로가 잘못되었거나
- 프로세스 이름이 정확하지 않거나
- 프로그램이 실행되지 않았거나
- 관리자 권한이 필요한 프로세스인데 일반 모드로 실행했을 때
해결 방법:
- 프로그램 경로가 정확한지 확인
- 프로세스 이름이 정확한지 확인 (대소문자 구분 없음)
- 프로그램이 실제로 실행 중인지 확인
- 관리자 권한 버전으로 실행해보기
원인:
- 관리자 권한이 필요한 프로세스인데 일반 모드로 실행했을 때
- 보안 정책에 의해 접근이 차단되었을 때
해결 방법:
- 관리자 권한 버전(
ProgramCheckerAdmin.exe)으로 실행 - 프로그램을 관리자 권한으로 실행
원인:
- "CPU 0% 유지 시간" 설정이 너무 짧을 때
해결 방법:
- "CPU 0% 유지 시간"을 더 길게 설정 (예:
30초,1분) - 프로그램이 실제로 멈춘 상태인지 확인
원인:
- 프로그램 경로가 잘못되었거나
- 프로그램 실행에 필요한 권한이 없을 때
해결 방법:
- 프로그램 경로가 정확한지 확인
- 프로그램을 수동으로 실행해보기
- 관리자 권한 버전으로 실행해보기
원인:
- 로그 폴더 생성 권한이 없을 때
- 디스크 공간이 부족할 때
해결 방법:
- 프로그램 실행 위치에 쓰기 권한이 있는지 확인
- 디스크 공간 확인
- 관리자 권한으로 실행해보기
A: 현재 버전은 한 번에 하나의 프로그램만 모니터링할 수 있습니다. 여러 프로그램을 모니터링하려면 프로그램을 여러 개 실행하세요.
A: 네, 프로세스가 없으면 자동으로 재시작됩니다. CPU 0%로 인한 종료 후에는 프로세스가 없어지므로 재시작됩니다.
A: 프로그램의 특성에 따라 다릅니다:
- 빠른 응답이 필요한 프로그램:
5초~15초 - 일반적인 프로그램:
30초~1분 - 백그라운드 작업이 많은 프로그램:
1분~5분
A:
- 관리자 권한 버전: 모든 프로세스에 접근 가능, UAC 프롬프트 표시
- 일반 모드 버전: 현재 사용자의 프로세스만 접근 가능, UAC 프롬프트 없음
A: 프로그램 실행 파일과 같은 폴더의 config.json 파일에 저장됩니다.
A: 프로그램 실행 파일과 같은 폴더의 log/checker/ 폴더에 날짜별로 저장됩니다.
A: 네, ProgramCheckerRun.exe 또는 ProgramCheckerRunAdmin.exe를 사용하면 GUI 없이 백그라운드에서 실행됩니다.
A: 체크 간격이 너무 짧으면 (예: 5초) 시스템 리소스를 더 많이 사용합니다. 일반적으로 5초 ~ 30초가 적절합니다.
A: 다음을 확인하세요:
- "CPU 0% 유지 시간" 설정이 충분히 지났는지
- CPU 사용량이 정말 0%인지 (일시적으로 0%였다가 다시 올라오면 리셋됨)
- 프로세스가 실제로 실행 중인지
A:
- GUI 버전: 창을 닫으면 종료됩니다
- 직접 실행 버전: 작업 관리자에서 프로세스를 종료합니다
로그 파일은 UTF-8 인코딩으로 저장되며, 각 줄은 다음과 같은 형식입니다:
[YYYY-MM-DD HH:MM:SS] 메시지 내용
예시:
[2025-12-19 14:30:15] 모니터링을 시작합니다.
[2025-12-19 14:30:20] CPU 사용량 0% 감지 (PID: 1234). 모니터링 시작...
[2025-12-19 14:30:25] CPU 사용량이 5초간 0% 유지됨 (PID: 1234). 중지로 판단하여 종료합니다...
- 프로그램 경로 (가장 정확)
- 파일 설명 (경로가 다를 수 있지만 같은 프로그램)
- 프로세스 이름 (가장 넓은 범위)
- 프로세스 체크 간격:
5초 - CPU 0% 유지 시간:
10초
- 프로세스 체크 간격:
10초~30초 - CPU 0% 유지 시간:
30초~1분
- 프로세스 체크 간격:
1분~5분 - CPU 0% 유지 시간:
2분~5분
이 프로그램은 자유롭게 사용, 수정, 배포할 수 있습니다.
문제가 발생하거나 개선 사항이 있으면 이슈를 등록해주세요.
마지막 업데이트: 2025-12-19