Windows下Redis 3.2.100如何通过PowerShell获取redis-cli --stat单次输出?
解决Windows PowerShell中获取
redis-cli --stat监控数据并自动终止的问题 我来给你几个在PowerShell里搞定这个需求的单行命令方案,亲测在Redis 3.2.100的Windows环境下管用:
方法1:直接获取指定行数的输出后自动终止
如果只需要前N行监控数据,这个方法最简洁——利用Select-Object在拿到指定行数后切断管道,让redis-cli自动退出:
redis-cli --stat | Select-Object -First 10
把10改成你需要的行数就行,执行后会输出前10行监控数据,然后命令自动终止,回到PowerShell提示符。
方法2:按时间长度采集数据后终止
如果需要固定采集几秒的数据,比如采集5秒后停止,可以用Start-Process启动进程、等待指定时间后强制终止:
Start-Process -NoNewWindow -FilePath "redis-cli.exe" -ArgumentList "--stat" -RedirectStandardOutput "redis_monitor.txt"; Start-Sleep -Seconds 5; Stop-Process -Name "redis-cli" -Force
这个命令会把5秒内的监控数据输出到当前目录的redis_monitor.txt文件里,之后你可以用Get-Content redis_monitor.txt查看内容。如果你的redis-cli.exe不在系统PATH里,记得把文件路径写全,比如"C:\Redis\redis-cli.exe"。
方法3:实时输出+定时终止
如果你想在PowerShell窗口实时看到监控数据,同时定时终止,可以结合Start-Job和Wait-Job:
Start-Job -ScriptBlock { redis-cli --stat } | Wait-Job -Timeout 5; Stop-Job *; Receive-Job *
这个会启动一个后台任务运行redis-cli --stat,等待5秒后停止任务,然后把采集到的输出返回给你。
内容的提问来源于stack exchange,提问作者Дмитрий Горчаков
相关产品推荐
相关产品推荐

