는 아마 주요 배치 파일의 PID가있는 경우 확인하는 모니터 배치 파일 ...
이 주요 파일 :
그것은
pid.pref
에서 현재 PID 저장을 얻는다
@echo off
setlocal
title Main Batch File
set T=%TEMP%\sthUnique.tmp
wmic process where (Name="WMIC.exe" AND CommandLine LIKE "%%%TIME%%%") get ParentProcessId /value | find "ParentProcessId" >%T%
set /P A=<%T%
set PID=%A:~16%
echo %PID% > pid.pref
rem The rest of the file is down here...
.
모니터 배치 파일 :
@echo off
setlocal
title Monitor
start mainfile.bat
ping localhost -n 1 -w 2000 >NUL
< pid.pref (set /p pid=)
:loop
tasklist /fi "PID eq %pid%" |find ":" > nul
if "%ERRORLEVEL%"=="1" (
shutdown.exe /s /t 00
exit
)
goto loop
모니터 배치 파일을 검사하지가 컴퓨터를 종료하면 같은 PID를 가진 프로세스가 존재합니다. 이제 메인 배치 파일이 닫히고 Windows가 새 프로세스에 동일한 PID를 제공 한 후에 프로세스가 열리면 불행 할 수 있습니다. 그러나 이것은 거의 없습니다.
그건 그렇고, 모니터를 먼저 시작하면, 그것은 자신의 메인 파일을 시작합니다.
참고 : 나는 이 아니며은 이것을 테스트했습니다.
또는이를 수행 할 방법이 없으면 클릭 한 번으로 트리거하지 않고 배치 파일을 다시 시작하는 방법 일 수 있습니다. 또는 배치 파일을 닫을 수 없도록 만드는 방법. – Addison