0

次の PowerShell 5 プログラムがあります。

$job = Start-Job -ScriptBlock {timeout.exe 10 /NOBREAK}
Wait-Job $job

実行すると、次の出力ですぐに終了します。

ID 名 PSJobTypeName 状態 HasMoreData 場所 コマンド
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost timeout.exe 10 /NOBREAK

タスクマネージャーには表示されtimeout.exeません。

終了する前に 10 秒待たないのはなぜですか? ジョブの外部で呼び出すと、ジョブでのtimeout.exe 10 /NOBREAK呼び出しと同様に、10 秒間待機しStart-Sleep 10ます。

同じ問題 (睡眠) を解決する別の方法を探しているわけではありませんが、具体的には、このプログラムがそのように動作する理由に対する答えを探しています。

4

1 に答える 1