首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超时命令不超时

超时命令不超时
EN

Stack Overflow用户
提问于 2021-06-23 10:15:40
回答 1查看 264关注 0票数 1

我有一些问题的时间安排一个长期运行的sox录音。

之所以需要这个命令,是因为sox是从进程中得到标准输出的,但它不是一个永久的数据流(但是有中断和沉默)。但是,当sox被告知要总共录制30秒时,它会记录到音频文件有30秒的声音为止。所以我希望命令在35s之后超时,如果它之前没有完成的话。

在bash脚本中使用的命令:

超时值35s sox一些sox参数纵倾030

现在的问题是,给定的命令可能需要35s到>10分钟之间的任何东西,而我不知道为什么。

它似乎完全随机花费多长时间,而音频文件是介于1s和13s之间。

所以也许这里的人有一个想法,可能是如何排除故障等等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-25 19:30:56

终止信号处理程序 in sox只设置标志user_abort,每个缓冲区由用于监视流程进度的回调检查一次,因此等待缓冲区满的sox可以解释用于响应信号的长时间延迟。如果指定一个小缓冲区大小,这种情况可能会有所改善,但这不是一个解决方案。

我现在注意到你写的sox从一个过程中得到了稳定的结果。如果您timeout该进程而不是sox,则其输入源的关闭将导致sox立即终止。

不幸的是,这不是一个合适的解决方案,因为“主进程”(sox从sox获得的标准输出)运行24/7,不应该被中断。

您可以将cat连接到输入,然后连接到timeout 35 cat | sox …

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68097866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档