请教关于popen执行后台命令的问题
答案:1 悬赏:10 手机版
解决时间 2021-02-08 03:07
- 提问者网友:萌卜娃娃
- 2021-02-07 09:52
请教关于popen执行后台命令的问题
最佳答案
- 五星知识达人网友:独行浪子会拥风
- 2021-02-07 11:09
貌似通过php本身不好解决,最后我写了个shell脚本解决了。
#$1: client ip
#$2: client port
#$3: cmd keyword used for killall
pid=$$
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
done
killall -9 "ping"
kill $$
在php里面popen('ping 8.8.8.8', 'r');之前,先执行这个脚本,分别将客户端ip,客户端端口,命令关键字作为3个参数传给这个shell脚本。
当客户端连接断开后,这个shell脚本会kill掉ping(也就是命令关键字),和它自己。
#$1: client ip
#$2: client port
#$3: cmd keyword used for killall
pid=$$
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
done
killall -9 "ping"
kill $$
在php里面popen('ping 8.8.8.8', 'r');之前,先执行这个脚本,分别将客户端ip,客户端端口,命令关键字作为3个参数传给这个shell脚本。
当客户端连接断开后,这个shell脚本会kill掉ping(也就是命令关键字),和它自己。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯