2017-11-23 16 views

答えて

0

は外部プログラムを実行し、プログラムが終了するまでは、スクリプトの実行を一時停止します。

  • 代わりにRun()を使用してください。
  • 実行が終了するまで、一定の時間待機する場合があります。例:python.exeは、Pythonスクリプトの実行後にアクティブなまま

    Global Const $g_sPathExecutable = 'path_to_python\python.exe script.py' 
    Global Const $g_sPatWdir  = 'path_to_script_file' 
    Global Const $g_iDelayExecution = 1000 * 10; 10 seconds 
    Global Const $g_iPID   = Run($g_sPathExecutable, $g_sPatWdir) 
    
    Sleep($g_iDelayExecution) 
    ProcessClose($g_iPID) 
    
  • 場合、それは代わりにPythonスクリプトから閉鎖することができます。

  • Pythonスクリプトを実行可能ファイルにコンパイルし、代わりにAutoItスクリプトから実行してください(同じpython.exeインスタンスが複数のPythonスクリプトプロセスの親として同時にアクティブになっている場合)。
+0

私のpythonスクリプトが終了するまでスクリプトが実行を一時停止します。これは今起こっていることですが、pythonスクリプトが完成しても、autoitスクリプトは実行を再開しません。 – Rahul

+0

@Rahul Pythonスクリプトの実行が終了した後、 'python.exe'はアクティブ状態を維持しますか? – user4157124

+0

私はRun()を使って試してみて、PID(1860)を印刷し、後でProcessWaitClose($ pid)を使いました。 ProcessWaitClose()関数から出てくるわけではありませんが、tasklistコマンドで検証しましたが、PID 1860のプロセスは表示されません。python.exeのintタスクリスト(PIDが異なる)バックグラウンドで実行されているPythonスクリプト。 – Rahul

関連する問題