私はexeプロセスを起動するpowershellスクリプトを持っています。私はコンピュータのアイドル状態でこのpowershellスクリプトを実行する予定のタスクを持っており、アイドル状態ではないときに停止するように設定しています。powershellスクリプトから起動した子プロセスを強制終了するタスクスケジューラを取得する方法
問題はタスクスケジュールが起動したexeプロセスを強制終了しないことです。私はそれが単にpowershellプロセスを強制終了しようとしていると仮定しています。
私は呼び出し-表現でプロセスを起動しようとした
それはタスクスケジューラから起動だときたpowershell.exe のサブプロセスとして起動exeファイルを作成する方法を見つけるように見えることはできません、 start-proces、私はout-null、wait-processなどにパイプしようとしました。ps1がタスクスケジューラから起動されても何も動作していないようです。
これを行う方法はありますか?
おかげ
'start-process'はJobオブジェクトを使ってプロセスツリー全体を待つことができますが、このジョブを' JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE'として設定しません。したがって、PowerShellを終了しても、ジョブ内のプロセスには影響しません。 – eryksun
これはC#で行うのは簡単ではありません:https://stackoverflow.com/questions/3342941/kill-child-process-when-parent-process-is-killed –