nwss
21-01-2023, 17:32
Не понимаю как формируется array.
Делаю функцию, которая будет запускать 10 нужных процессов и выводить их PID в процессе создания.
Я понимаю как сделать вывод уже после их запуска - это намного проще, но я хочу именно выводить ПИД после каждого запуска.
Вроде сделал и (как мне кажется) должно работать, но выдает результаты c повторами. Не могу понять почему.
function Start-Tors
{
# Запускаем в цикле 10 соединений Тора
for ($i = 1;$i -le 10;$i++)
{
Start-Sleep -Seconds 1
Write-Host -ForegroundColor Green -NoNewline -Object "$i. "
Start-Process -FilePath $TorExe -WorkingDirectory $TorDirectory -ArgumentList "-f $TorConfigs\torrc.$i" -WindowStyle Hidden
Write-Host -ForegroundColor Yellow -NoNewline -Object 'PID: '
$Tors = Get-Process -Name tor-real
[array]$TorsIDs = 1111
for ($n = 0;$n -lt $Tors.Length + 1;$n++)
{
if (-not($Tors.Id[$n] -in $TorsIDs))
{
#$Tors[$n] -in $TorsIDs
$TorsIDs += $Tors.Id[$n]
}
}
$a = $TorsIDs[$i]
Write-Host -ForegroundColor Cyan -Object $a
}
}
Вывод
PS C:\Users\Vlados> . 'C:\Users\Vlados\Desktop\scripts\MT.ps1'
1. PID: 1372
2. PID: 2800
3. PID: 9352
4. PID: 9352
5. PID: 10184
6. PID: 10216
7. PID: 10216
8. PID: 10216
9. PID: 10216
10. PID: 10216
PS C:\Users\Vlados> . 'C:\Users\Vlados\Desktop\scripts\MT.ps1'
1. PID: 4228
2. PID: 5624
3. PID: 9576
4. PID: 9576
5. PID: 9576
6. PID: 9576
7. PID: 9576
8. PID: 9576
9. PID: 9576
10. PID: 9576
Делаю функцию, которая будет запускать 10 нужных процессов и выводить их PID в процессе создания.
Я понимаю как сделать вывод уже после их запуска - это намного проще, но я хочу именно выводить ПИД после каждого запуска.
Вроде сделал и (как мне кажется) должно работать, но выдает результаты c повторами. Не могу понять почему.
function Start-Tors
{
# Запускаем в цикле 10 соединений Тора
for ($i = 1;$i -le 10;$i++)
{
Start-Sleep -Seconds 1
Write-Host -ForegroundColor Green -NoNewline -Object "$i. "
Start-Process -FilePath $TorExe -WorkingDirectory $TorDirectory -ArgumentList "-f $TorConfigs\torrc.$i" -WindowStyle Hidden
Write-Host -ForegroundColor Yellow -NoNewline -Object 'PID: '
$Tors = Get-Process -Name tor-real
[array]$TorsIDs = 1111
for ($n = 0;$n -lt $Tors.Length + 1;$n++)
{
if (-not($Tors.Id[$n] -in $TorsIDs))
{
#$Tors[$n] -in $TorsIDs
$TorsIDs += $Tors.Id[$n]
}
}
$a = $TorsIDs[$i]
Write-Host -ForegroundColor Cyan -Object $a
}
}
Вывод
PS C:\Users\Vlados> . 'C:\Users\Vlados\Desktop\scripts\MT.ps1'
1. PID: 1372
2. PID: 2800
3. PID: 9352
4. PID: 9352
5. PID: 10184
6. PID: 10216
7. PID: 10216
8. PID: 10216
9. PID: 10216
10. PID: 10216
PS C:\Users\Vlados> . 'C:\Users\Vlados\Desktop\scripts\MT.ps1'
1. PID: 4228
2. PID: 5624
3. PID: 9576
4. PID: 9576
5. PID: 9576
6. PID: 9576
7. PID: 9576
8. PID: 9576
9. PID: 9576
10. PID: 9576