我创建了一个iframe,
iframe的src是一个php脚本,
php脚本里面popen执行了一个shell命令:popen(‘ping 8.8.8.8’, "r");现在有这么个问题,无论我是换掉iframe的src,还是关闭iframe,还是关闭页面和浏览器,都无法停止ping命令,会一直执行下去。请教一下,有什么办法,可以停止那个ping的执行吗?
iframe的src是一个php脚本,
php脚本里面popen执行了一个shell命令:popen(‘ping 8.8.8.8’, "r");现在有这么个问题,无论我是换掉iframe的src,还是关闭iframe,还是关闭页面和浏览器,都无法停止ping命令,会一直执行下去。请教一下,有什么办法,可以停止那个ping的执行吗?
假如后台是freebsd,那么部分命令如ping,在页面关闭的情况下,会自动停止ping,但是有的命令不行,如vmstat,页面关闭,后台的vmstat继续运行。假如后台是centos,那么基本上页面关闭了,后台命令都会自动运行各位有啥好的办法来处理后台通过popen或是其他函数调用的shell命令吗?
#$1: client ip
#$2: client port
#$3: cmd keyword used for killallpid=$$
echo $1 $2 $$
echo "netstat -an | grep \"$1:$2\""
while [ 1 -eq 1 ]
do
result=`netstat -an | grep 'ESTABLISHED' | grep "$1:$2"`
if [ "$result"x = x ];
then
echo "end"
break
fi
echo "continue"
sleep 1
donekillall -9 "ping"
kill $$在php里面popen('ping 8.8.8.8', 'r');之前,先执行这个脚本,分别将客户端ip,客户端端口,命令关键字作为3个参数传给这个shell脚本。
当客户端连接断开后,这个shell脚本会kill掉ping(也就是命令关键字),和它自己。