我正在制作bash脚本供我使用。 如何运行命令一段时间,比如20秒并终止命令? 我尝试了很多来自互联网的解决方案,但没有任何作用,我也试过超时命令但没有成功。请给我一些解决方案。
提前致谢
更新
例如:我想在10秒后在脚本和终端中运行此命令
some command
答案 0 :(得分:50)
以下是一些bash脚本和一个名为timelimit的程序,可以解决您的问题。 Kill process after it's been allowed to run for some time
编辑:我认为我找到了更好的解决方案。尝试使用超时程序。从手册页: “超时 - 运行带有时间限制的命令”。例如:timeout 5s sleep 10s
它基本上运行你的命令,并在指定的持续时间后将它杀死它。
答案 1 :(得分:12)
在不提供timeout
命令的系统上,您可以使用以下命令:
your-cmd & sleep 30 ; kill $!
这将运行可能长时间运行your-cmd
,超时为30秒。
如果your-cmd
未在30秒内完成,则会发送TERM
信号。
答案 2 :(得分:1)
您是否计划安排脚本的执行?然后cron是你的朋友。
答案 3 :(得分:0)
我建议2个选项:
timeout
命令的系统上,您可以根据man timeout
使用它。/usr/share/doc/bash-3.2/scripts/timeout
提供的脚本。根据其使用信息使用它。答案 4 :(得分:-3)
使用睡眠和&& 操作数:
睡眠 [以秒为单位的时间]&& 您命令强>
睡眠 7&& 回声' Hello world!'