我正在制作一个 bash 脚本供我使用。如何在一定时间内运行命令,例如 20 秒并终止命令?我尝试了很多解决方案但没有任何效果,我也尝试了 timeout 命令但没有成功。请给我一些解决方案。
例如:我想在 10 秒后在脚本和终端中运行这个命令
some command
这里有一些 bash 脚本和一个名为 timelimit 的程序,可以解决您的问题。 在允许运行一段时间后终止进程
编辑:我想我找到了更好的解决方案。尝试使用超时程序。从手册页:“超时 - 运行有时间限制的命令”。例如:
timeout 5s sleep 10s
它基本上运行您的命令,并在指定的持续时间后将其杀死。
在不提供timeout
命令的系统上,您可以使用以下命令:
your-cmd & sleep 30 ; kill $!
这可能会长时间运行your-cmd
,超时时间为 30 秒。
如果your-cmd
在 30 秒内未完成,则会发送TERM
信号。
我建议2个选项:
timeout
命令的系统上,您可以根据man timeout
./usr/share/doc/bash-3.2/scripts/timeout
。根据其使用信息使用它。您是否要安排脚本的执行?那么cron是你的朋友。
使用sleep和&&操作数:
sleep [以秒为单位的时间] &&你的命令
sleep 7 && echo 'Hello world!'