PowerShell/並列処理
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*Parallel [#hf9b3efa]
**PowerShell 6以前 [#qf3281e9]
-[[PowerShell で並列処理を試してみた:https://qiita.com/mi...
-[[PowerShell 3.0 の ForEach –parallel はマルチスレッドで...
-[[PowerShell による同期処理、非同期処理、並列処理 を考え...
**PowerShell 7以降 [#o5091448]
***ForEach-Object -Parallel [#n994ebb0]
-[[Foreach Parallel を使用した複数のスレッド間での進行状...
-[[[PowerShell] ForEach-Objectの新機能、ForEach-Object -P...
-[[PowerShell 7.0.0 Preview3新機能 ForEach-Object並列処理]]
-[[PowerShell 7.0.0 Preview3新機能 ForEach-Object並列処理...
-ForEach-Object -Parallelを利用するにはPowerShell 7 Previ...
*Job [#lbc70076]
-[[PowerShell - Background Jobs, Runspace Jobs, and Threa...
-[[PowerShell: 複数の異なるタスクを並行稼働させる:https:/...
-[[PowerShellで並列処理して遊ぶ:https://sanpobiyori.info/...
-[[[PowerShell]Start-Jobで共通の関数を使う:https://qiita....
**Start-Job [#v317da86]
**Get-Job [#i4b207dc]
**Receive-Job [#k3e4cfa0]
**[[ThreadJob:https://www.powershellgallery.com/packages/...
-[[PowerShell Core 6.1で導入されるThreadJobについて:https...
**同時実行数制御 [#j663beb5]
-[[PowerShellでN個の並列ジョブを実行する:https://www.webd...
-[[Run N parallel jobs in powershell:https://stackoverflo...
-[[同時に10個までのjobを実行するように制御する方法とパイ...
***[[SplitPipeline:https://github.com/nightroman/SplitPip...
-[[SplitPipeline - NuGet:https://www.nuget.org/packages/S...
-[[Powershell:複数のジョブを並行して実行し、バックグラウ...
*Process [#e3aedee1]
-[[Process コマンドレットによるプロセスの管理:https://doc...
-[[次のコマンドを開始する前に、各コマンドの終了を待つよう...
**[[Start-Process:https://docs.microsoft.com/ja-jp/powers...
-[[PowerShellのStart-Processの使用方法とは? Start-Proces...
-[[Start-Processコマンドレット ArgumentList引数の罠:https...
Start-Process
-FilePath [実行ファイルのパス]
-ArgumentList [引数リスト]
-NoNewWindow
-Wait
-PassThru
-WorkingDirectory [プロセスの開始フォルダ]
-Verb [動詞] ※Windowsでのみ機能
***PassThru [#lbc2307b]
-コマンドレットが開始した各プロセスのプロセスオブジェクト...
-Wait-Process, Stop-Process で制御する場合は付ける
***Verbパラメタ [#c3387393]
-[[Verbパラメータについてもっと知りたい:https://www.fenet...
-.exe
--Open(開く)
--RunAs(管理者権限で実行)
--RunAsUser(別のユーザとして実行)
-.cmd
--Edit(編集)
--Open(開く)
--Print(印刷)
--RunAs(管理者権限で実行)
--RunAsUser(別のユーザとして実行)
-.txt
--Open(開く)
--Print(印刷)
**[[Wait-Process:https://docs.microsoft.com/ja-jp/powersh...
-[[【Wait-Process】PowerShellで実行中のプロセスが停止する...
***パターン1(プロセス名で指定) [#d14cbc0d]
-Name <プロセス名>
-Timeout <タイムアウト時間>
***パターン2(プロセスIDで指定) [#c0fb0fb2]
-Id <プロセスID>
-Timeout <タイムアウト時間>
***パターン3(オブジェクトで指定) [#t93536c4]
-Timeout <タイムアウト時間>
-InputObject <プロセスオブジェクト>
**[[Stop-Process:https://docs.microsoft.com/ja-jp/powersh...
***パターン3(オブジェクトで指定) [#tbe5c4f1]
[-InputObject] <Process[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
**テストプログラム [#sff4d12e]
# プロセスオブジェクトを格納
$processList = New-Object System.Collections.Generic.Lis...
# メモ帳を3つ起動
for ($i=0; $i -lt 3; $i++) {
$obj = Start-Process -FilePath notepad -PassThru
$processList.Add($obj)
}
# メモ帳3つが終了するのを待つ(タイムアウト 30秒)
#
# ※メモ帳は手動で停止
# ※タイムアウトが発生した場合は強制終了
#
try {
Wait-Process -InputObject $processList -Timeout 30
}
catch {
# タイムアウトしてもここには来ないので、下記は実行され...
Stop-Process -InputObject $processList -Force
}
finally {
# 終了していないプロセスを強制終了
Stop-Process -InputObject $processList -Force
# プロセスが終了したことを確認
Get-Process -InputObject $processList
}
*Workflow [#x817ef0c]
-[[Windows PowerShell ワークフローの概念:https://docs.mic...
-[[about_Workflows:https://docs.microsoft.com/ja-jp/power...
-[[Windows PowerShell ワークフローについて:https://docs.m...
-[[PowerShell における Windows Workflow Foundation 4.0 (W...
-[[PowerShellでマルチスレッド処理(仮):https://kyabatalian...
-[[PowerShellで並列実行させる方法【Workflow】:http://tren...
-[[今更だけど、手っ取り早くPowershellで並列処理をする方法...
-PowerShell Core からはサポートされなくなった機能
*その他 [#l14caf90]
-[[Invoke-ProducerConsumer.ps1 1.0 - PowerShell Gallery:h...
終了行:
*Parallel [#hf9b3efa]
**PowerShell 6以前 [#qf3281e9]
-[[PowerShell で並列処理を試してみた:https://qiita.com/mi...
-[[PowerShell 3.0 の ForEach –parallel はマルチスレッドで...
-[[PowerShell による同期処理、非同期処理、並列処理 を考え...
**PowerShell 7以降 [#o5091448]
***ForEach-Object -Parallel [#n994ebb0]
-[[Foreach Parallel を使用した複数のスレッド間での進行状...
-[[[PowerShell] ForEach-Objectの新機能、ForEach-Object -P...
-[[PowerShell 7.0.0 Preview3新機能 ForEach-Object並列処理]]
-[[PowerShell 7.0.0 Preview3新機能 ForEach-Object並列処理...
-ForEach-Object -Parallelを利用するにはPowerShell 7 Previ...
*Job [#lbc70076]
-[[PowerShell - Background Jobs, Runspace Jobs, and Threa...
-[[PowerShell: 複数の異なるタスクを並行稼働させる:https:/...
-[[PowerShellで並列処理して遊ぶ:https://sanpobiyori.info/...
-[[[PowerShell]Start-Jobで共通の関数を使う:https://qiita....
**Start-Job [#v317da86]
**Get-Job [#i4b207dc]
**Receive-Job [#k3e4cfa0]
**[[ThreadJob:https://www.powershellgallery.com/packages/...
-[[PowerShell Core 6.1で導入されるThreadJobについて:https...
**同時実行数制御 [#j663beb5]
-[[PowerShellでN個の並列ジョブを実行する:https://www.webd...
-[[Run N parallel jobs in powershell:https://stackoverflo...
-[[同時に10個までのjobを実行するように制御する方法とパイ...
***[[SplitPipeline:https://github.com/nightroman/SplitPip...
-[[SplitPipeline - NuGet:https://www.nuget.org/packages/S...
-[[Powershell:複数のジョブを並行して実行し、バックグラウ...
*Process [#e3aedee1]
-[[Process コマンドレットによるプロセスの管理:https://doc...
-[[次のコマンドを開始する前に、各コマンドの終了を待つよう...
**[[Start-Process:https://docs.microsoft.com/ja-jp/powers...
-[[PowerShellのStart-Processの使用方法とは? Start-Proces...
-[[Start-Processコマンドレット ArgumentList引数の罠:https...
Start-Process
-FilePath [実行ファイルのパス]
-ArgumentList [引数リスト]
-NoNewWindow
-Wait
-PassThru
-WorkingDirectory [プロセスの開始フォルダ]
-Verb [動詞] ※Windowsでのみ機能
***PassThru [#lbc2307b]
-コマンドレットが開始した各プロセスのプロセスオブジェクト...
-Wait-Process, Stop-Process で制御する場合は付ける
***Verbパラメタ [#c3387393]
-[[Verbパラメータについてもっと知りたい:https://www.fenet...
-.exe
--Open(開く)
--RunAs(管理者権限で実行)
--RunAsUser(別のユーザとして実行)
-.cmd
--Edit(編集)
--Open(開く)
--Print(印刷)
--RunAs(管理者権限で実行)
--RunAsUser(別のユーザとして実行)
-.txt
--Open(開く)
--Print(印刷)
**[[Wait-Process:https://docs.microsoft.com/ja-jp/powersh...
-[[【Wait-Process】PowerShellで実行中のプロセスが停止する...
***パターン1(プロセス名で指定) [#d14cbc0d]
-Name <プロセス名>
-Timeout <タイムアウト時間>
***パターン2(プロセスIDで指定) [#c0fb0fb2]
-Id <プロセスID>
-Timeout <タイムアウト時間>
***パターン3(オブジェクトで指定) [#t93536c4]
-Timeout <タイムアウト時間>
-InputObject <プロセスオブジェクト>
**[[Stop-Process:https://docs.microsoft.com/ja-jp/powersh...
***パターン3(オブジェクトで指定) [#tbe5c4f1]
[-InputObject] <Process[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
**テストプログラム [#sff4d12e]
# プロセスオブジェクトを格納
$processList = New-Object System.Collections.Generic.Lis...
# メモ帳を3つ起動
for ($i=0; $i -lt 3; $i++) {
$obj = Start-Process -FilePath notepad -PassThru
$processList.Add($obj)
}
# メモ帳3つが終了するのを待つ(タイムアウト 30秒)
#
# ※メモ帳は手動で停止
# ※タイムアウトが発生した場合は強制終了
#
try {
Wait-Process -InputObject $processList -Timeout 30
}
catch {
# タイムアウトしてもここには来ないので、下記は実行され...
Stop-Process -InputObject $processList -Force
}
finally {
# 終了していないプロセスを強制終了
Stop-Process -InputObject $processList -Force
# プロセスが終了したことを確認
Get-Process -InputObject $processList
}
*Workflow [#x817ef0c]
-[[Windows PowerShell ワークフローの概念:https://docs.mic...
-[[about_Workflows:https://docs.microsoft.com/ja-jp/power...
-[[Windows PowerShell ワークフローについて:https://docs.m...
-[[PowerShell における Windows Workflow Foundation 4.0 (W...
-[[PowerShellでマルチスレッド処理(仮):https://kyabatalian...
-[[PowerShellで並列実行させる方法【Workflow】:http://tren...
-[[今更だけど、手っ取り早くPowershellで並列処理をする方法...
-PowerShell Core からはサポートされなくなった機能
*その他 [#l14caf90]
-[[Invoke-ProducerConsumer.ps1 1.0 - PowerShell Gallery:h...
ページ名: