|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Проблема с формированием массива |
|
PowerShell - [решено] Проблема с формированием массива
|
Новый участник Сообщения: 45 |
Профиль | Отправить PM | Цитировать Не понимаю как формируется 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 |
|
Отправлено: 17:32, 21-01-2023 |
Новый участник Сообщения: 45
|
Профиль | Отправить PM | Цитировать Рубрика: сам спросил - сам ответил.
Как обычно в прекрасном PS есть вещи вроде -PassThru избавляющие от колхоза. function Start-Tors { # Запускаем в цикле 10 соединений Тора for ($i = 1;$i -le 10;$i++) { Write-Host -ForegroundColor Green -NoNewline -Object "$i. " $App = Start-Process -FilePath $TorExe -WorkingDirectory $TorDirectory -ArgumentList "-f $TorConfigs\torrc.$i" -WindowStyle Hidden -PassThru Write-Host -ForegroundColor Yellow -NoNewline -Object 'PID: ' Write-Host -ForegroundColor Cyan -Object $App.Id } } |
Отправлено: 17:47, 21-01-2023 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать nwss, в функциональном программировании, есть хорошее общее правило:
если есть возможность написать функцию детерминированной (ещё их называют "чистыми"), то так и делайте. Совсем обойтись без недетерминированных вещей или без побочных эффектов, наверное, вряд ли возможно в любой программе, но при любой возможности, их необходимо минимизировать. Это делается для того, чтобы уменьшить количество ошибок при разработке программ... это как бы рекомендация для общего случая. |
------- Отправлено: 19:28, 21-01-2023 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - Распределение массива | twinzzz75 | Windows Server 2008/2008 R2 | 10 | 19-01-2012 17:00 | |
[решено] проблема с формированием отчета в 1с 8.2 | golife | Microsoft Windows NT/2000/2003 | 5 | 21-09-2011 19:33 | |
C/C++ - заполнение массива | Lisiy_egik | Программирование и базы данных | 18 | 20-11-2009 14:58 | |
Установка - Проблема с драйверами для raid массива при установке win 7 | Vladimir_P | Microsoft Windows 7 | 1 | 15-11-2009 14:59 | |
проблема с созданием RAID массива, точнее с его установкой :) | tyfed | Непонятные проблемы с Железом | 18 | 30-07-2008 08:39 |
|