【问题标题】:Timeout in Shell ScriptShell 脚本中的超时
【发布时间】:2021-02-03 09:26:28
【问题描述】:

使用 Shell 脚本如下:

如果 [[超时 60 | wsof -l]];然后 echo "线程休眠 60 秒" 出口 别的 echo "超时失败" 出口 菲

但获取错误超时失败。在这种情况下,如何申请 60 秒的超时,以便返回回显“线程睡眠”?我正在为这个案例使用 bash 脚本

【问题讨论】:

    标签: bash lsof


    【解决方案1】:

    我不确定|wsof -l 应该做什么,但它可能因为括号而无法正常工作(当我使用括号时它对我不起作用,但是当我没有它时仅在 wsof -l 命令出现错误,我假设您这样做了)。

    【讨论】:

    • 如果您不希望它显示时间,请使用timeout /t 30 > NUL。如果您不希望它被用户输入停止,请使用timeout /t 30 /nobreak
    • 不,我想将 lsof 与超时一起使用。怎么做??
    • 尝试将其切换为 [[timeout /t 60 |wsof -l]] 而不是 [[timeout 60 |wsof -l]]
    • 肯定会尝试发布输出。谢谢,maxbear
    • 嗨 Maxbear,我应该在脚本的其他地方声明超时变量吗??
    最近更新 更多