0
我有一个将输出发送到日志文件的进程。我想编写一个Powershell脚本来启动这个过程,等待它完成,并且在它运行时,将它的日志文件实时拖放到控制台。当进程运行时,Powershell将尾日志记录到控制台
我已经试过这样:
$procs = Start-Process "some_process.exe"
$logjob = Start-Job -Arg "some_logfile.log" -ScriptBlock {
param($file)
Get-Content $file -wait | foreach { Write-Host($_) }
}
$procs | Wait-Process
$logjob | Stop-Job
...和其他类似安排,使用工作。但是看起来只有在作业停止后,或者通过发送“事件”才能得到作业的输出,这听起来像是它们并非真正用于诸如日志消息的快速事件(例如,在〜1分钟内的100,000行)。
有没有其他方法可以做到这一点?我的下一个选择是从Start-Process
调用'tail',这将完成工作(我认为 - 希望它没有相同的“等待停止”输出行为),但感觉不对。
我想脚本在完成时完成处理:(尽管我可以告诉,Get-Content等待将等到ctrl-c。 –