2017-04-01 37 views
0

작업이 배치 파일을 자정에 실행하도록 예약했습니다. 사용자가 로그인하는지 여부와 상관없이 여부 그것은 저장된 암호를 사용하여 관리자 권한으로 실행됩니다 작업 스케줄러를 사용할 때 Cmd 배치 파일이 부분적으로 만 실행됩니다.

    • 그것은이 가장 높은 수준의 권한은
    • 는 환경은 윈도우 2012
    • 로 설정되어 배치 파일의 폴더는 시작할 때 사용됩니다.

    배치 파일의 위치와 각각 폴더를 시작

    c:\ip\ip1.bat 
    c:\ip\ 
    

    배치 파일 내용 : 수동으로 실행하는 경우

    taskkill /im python.exe /f >nul 2>&1 
    taskkill /im chrome.exe /f >nul 2>&1 
    
    timeout 5 
    netsh interface ipv4 add address "Ethernet" 104.122.112.106 255.255.255.0 
    
    timeout 5 
    ::netsh interface ipv4 delete address "Ethernet" 104.122.112.106 
    netsh interface ipv4 delete address "Ethernet" 104.122.112.107 
    netsh interface ipv4 delete address "Ethernet" 104.122.112.108 
    
    timeout 40 
    start /min "" python.exe C:\Users\Administrator\Desktop\host\server2.py 
    
    timeout 10 
    start /min "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="D:\chrome1" --js-flags="--expose-gc" 
    

    위의 배치가 완벽하게 작동합니다.

    그러나 위의 파일은 작업 스케줄러에서 시작할 때마다 부분적으로 만 실행됩니다.

    파이썬과 크롬 프로세스가 모두 종료되지만 이 아닌이 다시 시작됩니다.

    그럼에도 불구하고 작업 스케줄러는 마지막 실행 결과가 성공적이라고보고합니다 (0x0).

    귀하의 도움과 제안에 매우 감사드립니다.

    편집 :

    실제로, 두 프로세스가 시작된다!

    그러나 그들은 백그라운드에서 실행됩니다. 즉, 작업 관리자에서 볼 수는 있지만 어떤 식 으로든 그들과 상호 작용할 수는 없습니다.

  • +0

    없음을 그런 경우가 아니다. 편집을 참조하십시오 ... – Anonymous

    +0

    열려있는 질문이 남아 있습니까? – LotPings

    +0

    예, 작업 표시 줄로 최소화되지만 백그라운드 프로세스로 실행되지는 않습니다. – Anonymous

    답변

    0

    "사용자가 로그온 할 때만 실행"옵션을 설정하면 실제로 문제가 해결되었습니다.

    RDP를 사용하여 서버에 연결하고 24 시간 연중 무휴로 연결하기 때문에이 옵션을 사용하지 않는 것이 좋습니다. 그럼에도 불구하고 내 RDP 세션의 연결을 끊을 때 "관리자"사용자는 여전히 로그 된 상태로 유지되며 작업 스케줄러는 관계없이 프로그램을 실행합니다.

    는 또 다른 문제는 시작 명령은 /분 스위치를 무시하고, 유지하고, 발사 과정은 작업 표시 줄에 최소화되어 있지 않습니다.

    나는 또 다른 질문 게시 한 : Cmd start command ignores /min switch