Нужно ли мне вызывать Remove-Job в PowerShell? - PullRequest
1 голос
/ 03 августа 2020

Я унаследовал некоторые сценарии от другого разработчика программного обеспечения, и эти сценарии используют Start-Job, чтобы начать делать сразу несколько вещей. Эти задания выводятся в файловую систему, поэтому нет необходимости получать их, чтобы использовать, просто нужно дождаться их завершения. Итак, чтобы уточнить ...

  • Вызывается Start-Job
  • Вызывается Wait-Job
  • Вызывается Stop-Job
  • Receive -Job НЕ вызывается
  • Remove-Job НЕ вызывается
  • Скрипт, создавший эти задания, обычно завершается примерно через 10 минут

Насколько я понимаю, получение или удаление задания приведет к его удалению, и мы не делаем ни того, ни другого.

Мой вопрос: есть ли у меня утечка памяти? Требуется ли вызов Remove-Job (или Receive-Job), если поток, создавший задание, завершается нормально?

1 Ответ

1 голос
/ 04 августа 2020

Если это не запланированные задания, они завершаются при закрытии оболочки. Итак, если ваш скрипт запускается, а затем завершается, задания удаляются.

Как сказал @Lee_Dailey, явная очистка всегда является хорошей идеей.

Если это был ваш скрипт, задание почти завершено мгновенно.

start-job -scriptblock { dir c:\windows -recurse }
exit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...