我的脚本中有五个exec()
函数。我想如果任何函数在给定时间内没有给出任何响应函数将kill,然后下一个函数开始执行。
<?php
exec("timeout 5 /usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
exec("timeout 5 /usr/local/bin/trun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
exec("timeout 5 /usr/local/bin/drun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
?>
在这个timeout
参数中不起作用。请更正此方法或提供任何替代方法。
答案 0 :(得分:1)
创建一个bash脚本caller.sh并通过exec执行它。该命令将在5秒后自动终止。
caller.sh
#!/bin/sh
/usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat' &
sleep 5
kill $! 2>/dev/null && echo "Killed command on time out"
PHP
exec("caller.sh",$uptime);