如何监控命令行程序的进度?

如何监控命令行程序的进度?

我们的 Windows 商店有一些自定义命令行程序。这些命令被安排为使用任务计划程序定期运行(从 bat 文件中)。我们的任务从其他系统中提取数据,并通过用于管理工作流程的容器将文件中的信息进行混洗。有时任务运行时间很长——真的很长——这让我们怀疑控制台应用程序是否真的在工作,或者它是否以某种方式挂起了。(这些应用程序通过网络与其他应用程序通信。)无论如何,我想知道是否有办法判断应用程序是在做某事还是处于空闲状态。中途终止这样的任务对我们的处理很危险,但如果进程只是保持挂起状态以允许其他工作通过,我们就必须终止它。(也许文件锁可能会导致这种情况,我不知道。)

我意识到我们可以将日志记录添加到我们各自的应用程序中,但我希望找到一种可以以某种方式组合(管道)的解决方案——例如,也许通过另一个监控控制台应用程序管道传输我们的 STDIN/OUT。这合理吗?Unix 或 Windows 上有类似的东西吗?

customcmd | monitor "progress.txt" --label customcmd < customdata.txt > result.txt 2> error.txt

也许progress.txt看起来像这样:

5:01:10pm - customcmd - 20 reads, 20 writes
5:01:15pm - customcmd - 11 reads, no writes

相关内容