Advertisement
Old-Lost

TailFile-UntilProcessStops

Sep 16th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function TailFile-UntilProcessStops {
  2.     Param ($processID, $filePath)
  3.  
  4.     $loopBlock = {
  5.         Param($filePath) Get-Content $filePath -Wait -Tail 0
  6.     }
  7.     $TailLoopJob = Start-Job -scriptBlock $loopBlock -ArgumentList $filePath
  8.     try {
  9.         do {
  10.             $TailLoopJob | Receive-Job
  11.             try {
  12.                 Wait-Process -id $processID -ErrorAction Stop -Timeout 1
  13.                 $waitMore = $false
  14.             } catch {
  15.                 $waitMore = $true
  16.             }
  17.         } while ($waitMore)
  18.     } finally {
  19.         Stop-Job $TailLoopJob
  20.         Remove-Job $TailLoopJob
  21.     }
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement