시스템 info/windows
윈도우 프로세스 강제 종료 후 재기동 배치
감성김씨
2019. 7. 30. 20:45
728x90
반응형
운영하고 있는 윈도우 서버에서
net 명령어로 프로세스를 매일 start / stop 하는 간단한 작업스케줄러가 등록되어 있는데
종종 services 가 정상적으로 종료가 되지 않거나 실행되지 않아 문제가 발생하는 경우가 발생했다.
그래서 간단한게 프로스세스를 재시작 하는 배치를 만들게 되었다.
ex)
FOR /F %%i IN ('tasklist ^| find /c "notepad"') DO (set Process_c=%%i)
if 1 GEQ %Process_c% taskkill /F /IM "notepad.exe"
timeout 5 > NULL
notepad.exe
timeout 5 > NULL
if 1 GEQ %Process_c% echo 정상 > ./log.txt
# tasklist 명령어로 해당 프로세스를 process_c 변수에 카우트하여 저장
FOR /F %%i IN ('tasklist ^| find /c "notepad"') DO (set Process_c=%%i)
# 1개 이상의 프로세스가 구동중이면 강제 kill
if 1 GEQ %Process_c% taskkill /F /IM "notepad.exe"
#리눅스 sleep 과 같은 명령어로 5초간 대기
timeout 5 > NULL
#서비스 재시작
notepad.exe
timeout 5 > NULL
# 로그 생성
if 1 GEQ %Process_c% echo 정상 > c:\log\log.txt
728x90
반응형