メイン コードの本体で使用するのと同じ関数をバックグラウンド プロセスで使用したいと考えています。
このように書くと、「追加」機能はバックグラウンド処理では機能しますが、メインコードでは使用できません。
$add = { function add($a,$b) { return $a+$b } }
$job = Start-Job -Name "test" -ArgumentList @(2,4) -InitializationScript $add -ScriptBlock { return add $args[0] $args[1] }
sleep 1
Receive-Job -Name "test"
Remove-Job -Name "test" -force
add 2 4
「add」関数定義の周りの {} を削除すると、本体では機能しますが、バックグラウンド プロセスでは機能しません。
$add = function add($a,$b) { return $a+$b }
$job = Start-Job -Name "test" -ArgumentList @(2,4) -InitializationScript $add -ScriptBlock { return add $args[0] $args[1] }
sleep 1
Receive-Job -Name "test"
Remove-Job -Name "test" -force
add 2 4
バックグラウンド プロセスとメイン コードの両方で関数を使用するにはどうすればよいですか?