본문 바로가기
끄적/기타

프로그램 자동 재실행 프로그램 (ProgramChecker)

by iwbap 2025. 12. 19.
728x90
반응형

 프로그램이 상시 유지되어야 하는 시스템에 필요한 프로그램 자동 재실행 프로그램입니다.

프로그램이 멈추거나 중단되어 강제로 종료가 되는 문제가 발생하면 다시 재실행해줍니다.


필요해서 만들었고 만든 김에 공유합니다. 필요하신분 가져다 쓰세요.

사용하면서 발생하는 모든 책임은 지지 않습니다. 당장 업데이트 예정 없습니다.


관리자 모드로 돌려야하는 프로그램은 관리자 모드로 다운받아 사용하시면 됩니다.

첨부파일 아래에 사용 설명서 있으니 확인하세요.

 

헤모글로빈 분석기 검출기 가정용 검사지 병원 빈혈 테스터 측정기 스트립, 1개, 25개 시험지바늘 구형 칩 없이 사용

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

https://github.com/yonghunJeon/program_checker.git

 

GitHub - yonghunJeon/program_checker

Contribute to yonghunJeon/program_checker development by creating an account on GitHub.

github.com

 

ProgramChecker.exe
12.44MB
ProgramCheckerAdmin.exe
12.44MB
ProgramCheckerRun.exe
7.05MB
ProgramCheckerRunAdmin.exe
7.05MB

 

ProgramChecker 사용 설명서

목차

  1. 프로그램 소개
  2. 주요 기능
  3. 시작하기
  4. 사용 방법
  5. 설정 옵션
  6. 문제 해결
  7. FAQ

프로그램 소개

ProgramChecker는 Windows에서 실행 중인 프로그램을 모니터링하고, 프로그램이 비정상 종료되거나 응답하지 않을 때 자동으로 감지하여 처리하는 도구입니다.

주요 특징

  • 🎯 프로세스 모니터링: 지정한 프로그램이 실행 중인지 주기적으로 확인
  • 🔄 자동 재시작: 프로세스가 없을 때 자동으로 재시작
  • 📊 CPU 사용량 감지: CPU 사용량이 0%로 유지되면 프로그램이 멈춘 것으로 판단하여 종료
  • 📝 로그 기록: 모든 작업 내역을 날짜별 로그 파일로 저장
  • ⚙️ 설정 저장: 프로그램 종료 시 설정이 자동 저장되어 다음 실행 시 불러옴
  • 🔐 권한 선택: 관리자 권한 버전과 일반 모드 버전 제공

주요 기능

1. 프로세스 모니터링

  • 지정한 프로그램이 실행 중인지 주기적으로 확인
  • 프로세스가 없으면 자동으로 재시작
  • 프로세스 찾기 방법:
    • 프로그램 경로: 정확한 실행 파일 경로로 찾기
    • 프로세스 이름: 프로세스 이름으로 찾기 (예: chrome.exe)
    • 파일 설명: 실행 파일의 설명 정보로 찾기

2. CPU 사용량 기반 감지

  • CPU 사용량이 0%로 유지되면 프로그램이 멈춘 것으로 판단
  • 설정한 시간 동안 CPU가 0% 유지되면 프로세스 종료
  • CPU 사용량이 다시 올라오면 정상 작동으로 판단

3. 로그 기록

  • 모든 모니터링 활동을 로그로 기록
  • 날짜별로 로그 파일 자동 생성 (log/checker/YYYY-MM-DD.log)
  • 실시간 로그 확인 가능

4. 설정 관리

  • 프로그램 경로, 프로세스 이름, 체크 간격 등 설정 저장
  • 프로그램 종료 시 자동 저장
  • 다음 실행 시 자동으로 불러오기

시작하기

시스템 요구사항

  • 운영체제: Windows 10 이상
  • 권한: 일부 프로세스 모니터링 시 관리자 권한 필요

실행 방법

  1. 제공된 실행 파일 중 하나를 선택:
    •    관리자 권한 필요 시: ProgramCheckerAdmin.exe 또는 ProgramCheckerRunAdmin.exe
    •    일반 모드: ProgramChecker.exe 또는 ProgramCheckerRun.exe
  2. 실행 파일을 더블클릭하여 실행
    •    관리자 권한 버전의 경우 UAC 프롬프트가 나타날 수 있습니다

사용 방법

1단계: 프로그램 실행

GUI 버전 (ProgramChecker.exe)

  • 프로그램을 실행하면 창이 열립니다
  • 모든 설정과 모니터링을 GUI에서 관리할 수 있습니다

직접 실행 버전 (ProgramCheckerRun.exe)

  • 백그라운드에서 자동으로 실행됩니다
  • GUI 없이 자동으로 모니터링을 시작합니다
  • config.json 파일의 설정을 사용합니다

⚠️ 주의사항:

  • 직접 실행 버전은 GUI가 없어서 일반적인 방법으로 종료할 수 없습니다
  • 종료하려면 작업 관리자에서 ProgramCheckerRun.exe 또는 ProgramCheckerRunAdmin.exe 프로세스를 찾아 작업 끝내기로 강제 종료해야 합니다
  • 다른 프로그램에 이 모니터링 기능을 통합하고 싶다면, 해당 프로그램 종료 시 ProgramCheckerRun 프로세스를 먼저 종료한 후 프로그램을 종료하는 로직을 추가하는 것을 권장합니다
    • 예: 프로그램 종료 버튼 클릭 → ProgramCheckerRun 프로세스 종료 → 프로그램 종료

2단계: 모니터링할 프로그램 설정

프로그램 경로 설정

  1. "찾아보기" 버튼 클릭
  2. 모니터링할 프로그램의 실행 파일(.exe) 선택
  3. 선택한 경로가 자동으로 입력됩니다

프로세스 이름 설정

  • 프로그램 경로 대신 프로세스 이름으로도 찾을 수 있습니다
  • 예: chrome.exe, notepad.exe, SAFE VIEW.exe
  • 프로세스 이름만 입력해도 됩니다

참고: 프로그램 경로와 프로세스 이름 중 하나만 입력해도 됩니다. 둘 다 입력하면 더 정확하게 찾을 수 있습니다.

3단계: 모니터링 옵션 설정

프로세스 체크 간격

  • 프로그램 상태를 확인하는 주기
  • 옵션: 5초, 10초, 15초, 30초, 1분, 5분, 10분, 15분, 30분, 60분
  • 기본값: 5초

CPU 0% 유지 시간

  • CPU 사용량이 0%로 유지될 때 프로세스를 종료하기까지의 시간
  • 옵션: 5초, 10초, 15초, 30초, 1분, 2분, 5분
  • 기본값: 5초
  • 동작 방식:
    • CPU 사용량이 0%가 되면 타이머 시작
    • 설정한 시간 동안 계속 0% 유지되면 프로세스 종료
    • 중간에 CPU 사용량이 올라오면 타이머 리셋

4단계: 모니터링 시작

  1. "모니터링 시작" 버튼 클릭
  2. 상태 표시가 "모니터링 중..."으로 변경됩니다
  3. 로그 영역에서 실시간으로 모니터링 상태를 확인할 수 있습니다

5단계: 모니터링 확인

로그 확인

  • 로그 영역에서 다음 정보를 확인할 수 있습니다:
    • 프로세스 찾기 성공/실패
    • CPU 사용량 변화
    • 프로세스 종료 및 재시작
    • 오류 메시지

로그 파일 확인

  • 로그는 log/checker/ 폴더에 날짜별로 저장됩니다
  • 파일명 형식: YYYY-MM-DD.log
  • 예: 2025-12-19.log

6단계: 모니터링 중지

  • "모니터링 중지" 버튼을 클릭하면 모니터링이 중지됩니다
  • 설정은 자동으로 저장됩니다

설정 옵션

설정 파일 (config.json)

프로그램 종료 시 자동으로 저장되는 설정 파일입니다.

{
  "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 프롬프트 없이 실행하고 싶을 때
  • 보안 정책상 관리자 권한을 사용할 수 없을 때

문제 해결

문제 1: 프로세스를 찾을 수 없습니다

원인:

  • 프로그램 경로가 잘못되었거나
  • 프로세스 이름이 정확하지 않거나
  • 프로그램이 실행되지 않았거나
  • 관리자 권한이 필요한 프로세스인데 일반 모드로 실행했을 때

해결 방법:

  1. 프로그램 경로가 정확한지 확인
  2. 프로세스 이름이 정확한지 확인 (대소문자 구분 없음)
  3. 프로그램이 실제로 실행 중인지 확인
  4. 관리자 권한 버전으로 실행해보기

문제 2: 프로세스 접근 불가

원인:

  • 관리자 권한이 필요한 프로세스인데 일반 모드로 실행했을 때
  • 보안 정책에 의해 접근이 차단되었을 때

해결 방법:

  1. 관리자 권한 버전(ProgramCheckerAdmin.exe)으로 실행
  2. 프로그램을 관리자 권한으로 실행

문제 3: CPU 0% 감지가 너무 빨리 작동합니다

원인:

  • "CPU 0% 유지 시간" 설정이 너무 짧을 때

해결 방법:

  1. "CPU 0% 유지 시간"을 더 길게 설정 (예: 30초, 1분)
  2. 프로그램이 실제로 멈춘 상태인지 확인

문제 4: 프로그램이 재시작되지 않습니다

원인:

  • 프로그램 경로가 잘못되었거나
  • 프로그램 실행에 필요한 권한이 없을 때

해결 방법:

  1. 프로그램 경로가 정확한지 확인
  2. 프로그램을 수동으로 실행해보기
  3. 관리자 권한 버전으로 실행해보기

문제 5: 로그 파일이 생성되지 않습니다

원인:

  • 로그 폴더 생성 권한이 없을 때
  • 디스크 공간이 부족할 때

해결 방법:

  1. 프로그램 실행 위치에 쓰기 권한이 있는지 확인
  2. 디스크 공간 확인
  3. 관리자 권한으로 실행해보기

FAQ

Q1: 여러 프로그램을 동시에 모니터링할 수 있나요?

A: 현재 버전은 한 번에 하나의 프로그램만 모니터링할 수 있습니다. 여러 프로그램을 모니터링하려면 프로그램을 여러 개 실행하세요.

Q2: 프로그램이 종료되면 자동으로 재시작되나요?

A: 네, 프로세스가 없으면 자동으로 재시작됩니다. CPU 0%로 인한 종료 후에는 프로세스가 없어지므로 재시작됩니다.

Q3: CPU 0% 유지 시간을 어떻게 설정해야 하나요?

A: 프로그램의 특성에 따라 다릅니다:

  • 빠른 응답이 필요한 프로그램: 5초 ~ 15초
  • 일반적인 프로그램: 30초 ~ 1분
  • 백그라운드 작업이 많은 프로그램: 1분 ~ 5분

Q4: 관리자 권한 버전과 일반 모드 버전의 차이는?

A:

  • 관리자 권한 버전: 모든 프로세스에 접근 가능, UAC 프롬프트 표시
  • 일반 모드 버전: 현재 사용자의 프로세스만 접근 가능, UAC 프롬프트 없음

Q5: 설정은 어디에 저장되나요?

A: 프로그램 실행 파일과 같은 폴더의 config.json 파일에 저장됩니다.

Q6: 로그 파일은 어디에 저장되나요?

A: 프로그램 실행 파일과 같은 폴더의 log/checker/ 폴더에 날짜별로 저장됩니다.

Q7: 프로그램을 백그라운드에서 실행할 수 있나요?

A: 네, ProgramCheckerRun.exe 또는 ProgramCheckerRunAdmin.exe를 사용하면 GUI 없이 백그라운드에서 실행됩니다.

Q8: 체크 간격을 너무 짧게 설정하면 문제가 되나요?

A: 체크 간격이 너무 짧으면 (예: 5초) 시스템 리소스를 더 많이 사용합니다. 일반적으로 5초 ~ 30초가 적절합니다.

Q9: CPU 사용량이 0%인데도 종료되지 않습니다

A: 다음을 확인하세요:

  1. "CPU 0% 유지 시간" 설정이 충분히 지났는지
  2. CPU 사용량이 정말 0%인지 (일시적으로 0%였다가 다시 올라오면 리셋됨)
  3. 프로세스가 실제로 실행 중인지

Q10: 프로그램을 완전히 종료하고 싶습니다

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). 중지로 판단하여 종료합니다...

프로세스 찾기 우선순위

  1. 프로그램 경로 (가장 정확)
  2. 파일 설명 (경로가 다를 수 있지만 같은 프로그램)
  3. 프로세스 이름 (가장 넓은 범위)

권장 설정 예시

빠른 응답이 필요한 프로그램 (게임, 실시간 앱)

  • 프로세스 체크 간격: 5초
  • CPU 0% 유지 시간: 10초

일반적인 프로그램 (문서 편집기, 브라우저)

  • 프로세스 체크 간격: 10초 ~ 30초
  • CPU 0% 유지 시간: 30초 ~ 1분

백그라운드 서비스

  • 프로세스 체크 간격: 1분 ~ 5분
  • CPU 0% 유지 시간: 2분 ~ 5분

라이선스 및 지원

이 프로그램은 자유롭게 사용, 수정, 배포할 수 있습니다.

문제가 발생하거나 개선 사항이 있으면 이슈를 등록해주세요.


마지막 업데이트: 2025-12-19

728x90
반응형

'끄적 > 기타' 카테고리의 다른 글

시리얼 통신 모니터링 프로그램  (0) 2026.01.23