시스템 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
반응형