linux - 启动命令,在 10 秒后计算输出行数,然后重新启动它或让它运行

标签 linux bash

我有一个有趣的情况正在尝试编写脚本。我有一个程序,它在成功启动后 10 秒后输出 26,000 行。否则我必须杀死它并重新启动它。我试着做这样的事情:

test $(./long_program | wc -l) -eq 26000 && echo "Started successfully"

但这只有在程序完成运行时才有效。有没有一种聪明的方法来观察命令的输出流并做出相应的决定?我不知所措,甚至不太确定如何开始搜索它。谢谢!

最佳答案

怎么样

./long_program > mylogfile &
pid=$!
sleep 10

# then test on mylogfile length and kill $pid if needed

关于linux - 启动命令,在 10 秒后计算输出行数,然后重新启动它或让它运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12016991/

相关文章:

linux - 如何在 awk 中使用 bash 命令

java - 检查进程是否正在运行 linux shell 不工作

c++ - __USE_BSD 标志在哪里定义?

c++ - 静态链接系统库、libc、pthreads,以帮助调试

linux - 是否可以在 node.js 中读出物理键盘笔画?

bash - sed 多行删除模式

regex - Bash Regex 接受 [Number],但我只想接受 Number

linux - 如何检查字符串是否包含子字符串并且 Bash 中不包含子字符串

linux - gdate 在这个 shell 脚本中是什么意思?

linux,构建 AM33 Yocto 图像时出错,bitbake