#timeout在后台执行接受的命令,并设定超时时间,超时后会把命令干掉
timeout(){
waitfor=$1
shift
command=$*
$command &
commandpid=$!
(sleep $waitfor;kill -9 $commandpid >/dev/null 2>&1)&
watchdogpid=$!
sleeppid=$(ps --ppid $watchdogpid |awk '{print $1}')
wait $commandpid
kill $sleeppid>/dev/null 2>&1
}
本文出自 “暗日” 博客,请务必保留此出处http://darksun.blog.51cto.com/3874064/963696
本文介绍了一个使用Shell脚本自定义的timeout函数,该函数能够启动一个后台进程并为其设置超时时间。一旦进程运行超过了指定的时间限制,将会被强制终止。此方法适用于需要对长时间运行的命令进行时间限制的场景。
2619

被折叠的 条评论
为什么被折叠?



