【发布时间】:2014-10-21 12:24:24
【问题描述】:
我的服务器上有一个特定工具的日志流,具有持久输出。 我说是这样的
task 3 done
all is ok
added another task
something made
由于某种原因,我无法从输出文件中进行 grep,但我有机会通过管道或输出流进行操作:
./myexecutablefile | grep something
在这种情况下,如果它出现在输出中,我会收到突出显示的“某物”。
如果遇到第一次,我想做点什么,但我不知道怎么做,因为连续流。例如,如果我看到一些错误,我的目标是终止进程。
这肯定不行,&& kill 会在可执行文件结束后开始
./myexecutable | grep 'Error occured' && kill -9 myexecutable
【问题讨论】:
-
您希望此过程继续吗?或者只是监控一个流,然后当你 grep 你想要的东西时,做点什么就可以了?
-
不要使用
kill -9,除非您知道该程序有错误并且不会响应常规信号(在这种情况下,可能不信任它足以运行首先)。