a:服务器
b:用户浏览器
b输入字符串(例如baidu.com)
b点击确定按钮
a创建cmd,编辑(例如创建baidu.com.cmd,文件内容为ping baidu.com -t)
a运行cmd,n分钟后关闭(例如运行baidu.com.cmd,5分钟后关闭该cmd)
求网站HTML/PHP代码,最好是完整的
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-showbo 2022-05-31 12:50关注
下面代码能执行cmd,但是会一直等待cmd的执行直到php脚本超时。。要停止cmd执行视乎无效
<meta charset="utf-8"/> <?php set_time_limit(300);//设置超时时间5分钟 $exe_command = 'C:\\Windows\\System32\\cmd.exe F:\\phpStudy\\root\\WWW\\script.cmd'; $descriptorspec = array( 0 => array("pipe", "r"), // stdin 1 => array("pipe", "w"), // stdout -> we use this 2 => array("pipe", "w") // stderr ); $process = proc_open($exe_command, $descriptorspec, $pipes); if (is_resource($process)) { $count=0; $killed=false; while(!feof($pipes[1])) { sleep(1); $count++; if($count>=5){//原本想这样测试大于5s,用taskkill命令杀死批处理中执行的具体程序,视乎无效,会运行到脚本超时后自动关闭cmd。。 exec("taskkill /f /im cmd.exe"); exec("taskkill /f /im ping.exe"); proc_close($process); $killed=true;//标记为 break; } //下面为信息输出,不需要可以注释下面的3句 $return_message = fgets($pipes[1], 1024); if (strlen($return_message) == 0) break; echo iconv('GBK','UTF-8',$return_message).'<br />'; } if($killed==false)proc_close($process); } ?>
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 c#转安卓 java html
- ¥15 os.listdir文件路径找不到
- ¥15 使用gojs3.0,如何在nodeDataArray设置好text的位置,再go.TextBlock alignment中进行相应的改变
- ¥15 psfusion图像融合指标很低
- ¥15 银河麒麟linux系统如何修改/etc/hosts权限为777
- ¥50 医院HIS系统代码、逻辑学习
- ¥30 docker离线安装mysql报错,如何解决?
- ¥15 构建工单的总账影响在哪里查询或修改
- ¥15 三个简单项目写完之后有重赏之后联系我
- ¥15 python报内存不能read错误