node.js - 监视/监视某些关键字的后台作业

标签 node.js bash

在 bash 脚本中,我想通过以下方式观察/监视后台进程/作业:

  • 在后台运行命令(在我的例子中是nodeJS)
  • 监视其输出,但不显示它
  • 一旦输出包含“Error”一词或作业退出/停止:
    • 显示最后的输出(即完整的错误消息)
    • 退出脚本

我该怎么做?

最佳答案

您可以使用strace来做到这一点:

在最简单的情况下,strace 运行指定的命令直到退出。 它拦截并记录由某个程序调用的系统调用 进程以及进程接收到的信号。的名字 每个系统调用、其参数和返回值都打印在 标准错误或使用 -o 选项指定的文件。

如:

strace -o /path/to/file.txt process_to_monitor

然后你可以使用tail提取文件的最后部分(默认为最后 10 行)。

tail /path/to/file.txt -n100

如果您想复制最后 10000 行。

然后你grep你想要从中得到的字符串。

关于node.js - 监视/监视某些关键字的后台作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43132319/

相关文章:

javascript - 如何使用 @azure/storage-blob sdk 附加 blob 文件? ( Node JS)

node.js - 尝试按 id 获取文档时出现 mongo-db 错误

node.js - 环回保护嵌套关系

regex - 检查字符串是否可以是 linux 和 windows 上 FS 中的路径

bash - 比较文件文件,提示不要求输入

linux - 如何更改默认的 Eclipse 控制台?

javascript - 从另一个类内部调用方法

javascript - 未知的 node.js 和 websockets 服务器停止。谁修改我的代码?

linux - 如何检查不同目录中具有相同名称但扩展名不同的文件

python - uPnP 将视频推送到 OSX/Mac 上的智能电视/三星电视