可能重复:
bash脚本,在给定超时后杀死一个子进程
有没有写一个shell脚本,将15秒执行某个命令的方式,然后杀死命令?
我曾尝试睡觉,等待和平安,但也许我使用他们错了。
可能重复:
bash脚本,在给定超时后杀死一个子进程
有没有写一个shell脚本,将15秒执行某个命令的方式,然后杀死命令?
我曾尝试睡觉,等待和平安,但也许我使用他们错了。
使用timeout
命令:
timeout 15s command
注:在某些系统上,你需要安装coreutils
,别人是缺少或有不同的命令行参数。 见发表@ArjunShankar一个替代的解决方案。 在此基础上,你可以封装该锅炉板代码,并创建自己的便携式timeout
脚本或小C的应用程序,做同样的事情。
有些机器没有timeout
安装/使用。 在这种情况下,你可以后台进程; 其PID然后被存储为$!
; 然后睡在要求的时间量,然后杀死它:
some_command arg1 arg2 &
TASK_PID=$!
sleep 15
kill $TASK_PID
在这个网址我发现有提到的,不止一个解决方案,以实现这一目标。