2017-04-01 12 views
0

バッチファイルが深夜に実行されるようにスケジュールされたタスクがあります。ユーザーがログインしているかどうかに関係ないことが格納されているパスワードを管理者として実行され タスクスケジューラを使用しているときにCmdバッチファイルが部分的にしか実行されない

    • それが持っている最高の権限は、
    • は、環境は、Windows 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" 
    

    手動で起動した場合、上記バッチは完璧に動作します。

    ただし、上記のファイルがタスクスケジューラによって起動されると、そのファイルは部分的にのみ実行されます。

    何が起こるかは、pythonプロセスとchromeプロセスの両方が強制終了されますが、ではなく、が再起動されます。

    それにもかかわらず、タスクスケジューラは最後の実行結果が成功したことを報告します(0x0)。

    ご協力いただきありがとうございます。

    EDIT:

    実際、両方のプロセスが起動されます!

    しかし、それらはバックグラウンドで実行されます。つまり、タスクマネージャで表示されますが、どのような方法でも対話できません。

  • +0

    ではありません。編集を参照してください... – Anonymous

    +0

    未解決な質問が残っていますか? – LotPings

    +0

    はい、タスクバーには最小化されていますが、バックグラウンドプロセスとしては実行されません。 – Anonymous

    答えて

    0

    「ユーザーがログオンしているときのみ実行する」オプションを設定すると、実際に問題が解決されました。

    RDPを使用してサーバーに接続しているため、24時間365日接続できないため、このオプションの使用を避けようとしています。それにもかかわらず、私のRDPセッションを切断するとき、 "管理者"ユーザはまだログを残していて、タスクスケジューラはプログラムを実行しません。

    さらに別の問題が残っている、スタートコマンドは、/分スイッチを無視し、立ち上げのプロセスは、タスクバーに最小化されていません。

    私は別の質問を掲載している:いいえ、そうではCmd start command ignores /min switch

    関連する問題