PDA

Показать полную графическую версию : Действие по тайм-ауту


mapisic
20-08-2015, 09:53
Как сделать чтобы, если таймаут не вышел то делать одно действие, если вышел - повторить всё сначала.

$timeout = new-timespan -Minutes 1
$sw = [diagnostics.stopwatch]::StartNew()
while ($start){
if (-not $timeout)
{
write-host "Hello World!"
}
else
{
write-host "Timed out"
# start-sleep -seconds 5
return $start
}
}

Kazun
20-08-2015, 10:03
$timeout = new-timespan -Minute 1
$sw = [diagnostics.stopwatch]::StartNew()
while (1){
if ($sw.Elapsed -le $timeout)
{
write-host "Hello World!"
}
else
{
$sw = [diagnostics.stopwatch]::StartNew()
}
}

mapisic
20-08-2015, 10:29
А если выполняется какая нибудь команда (например ping) как послать сигнал завершения?
exit, ^C
не работает

Kazun
20-08-2015, 10:47
Ctrl+C, завершить процесс из диспетчера задач, завершить через taskkill, полно способов.


Используйте лучше Job(Start-Job - Stop-Job), подробней:

PS > Get-help about_Job

Name Category
---- --------
about_Jobs HelpFile
about_Job_Details HelpFile




© OSzone.net 2001-2012