当我通过按浏览器的“停止”按钮取消PHP脚本时,看起来exec(..)
运行的外部二进制文件没有停止。如果服务器配置为不处理每个用户多于一个的脚本,则会在运行命令完成之前禁用任何用户活动。我怎么能告诉PHP在取消时杀死执行的进程?php stop shell exec取消
0
A
回答
1
总之,有一个难点。
你的浏览器对服务器说:“做这个页面”,然后服务器回复它在运行脚本时得到的结果。如果客户端消失,服务器通常仍会完成脚本,而浏览器是否听取该信息。
我唯一能想到的方式是,如果服务器是UNIX,那么可以尝试一些方法来确定运行命令的PID,并且如果您阅读了http://php.net/manual/en/features.connection-handling.php,则可以设置事件发生在断开连接时。接下来你可以让PID运行另一个命令来终止命令。
但是,我不想保证结果。
0
在网页中使用exec来进行午餐过程并保留返回的pid。
$pid = exec($command);
在UI检查后,如果过程结束,如果需要,允许用户与像杀的过程:由于它是由阿帕奇开始
exec("kill -9 $pid");
,阿帕奇应该能够杀死它。 我看到ajax调用某种REST API,并且应该注意不要让用户更多地干掉他们开始的进程。
相关问题
- 1. shell exec和mysql
- 2. 取得PHP给exec PHP
- 3. PHP stop foreach()
- 4. PHP stop ignore_user_abort进程
- 5. Ant build error = exec-shell returned:1
- 6. exec -PHP return_val是126
- 7. 从shell exec传递变量到mysql_query
- 8. “exec('sh foo.sh')”in PHP not working
- 9. Shell命令适用于命令行,但不适用于PHP exec
- 10. 在运行shell脚本的php上exec()的问题
- 11. 执行单EXEC PHP语句包含两个shell命令
- 12. PHP shell命令
- 13. Php exec with Java
- 14. Exec后PHP StdErr()
- 15. Php exec编码
- 16. CutyCapt与php exec
- 17. 从PHP的exec
- 18. stop/cancel ScheduledFuture
- 19. PHP exec Vs. apache用户shell:自动GIT部署PHP BitBucket服务器
- 20. 使用execv和shell的问题exec
- 21. Golang,exec和背部蜱shell命令
- 22. 蚂蚁EXEC shell脚本 - 失去环境
- 23. 从shell而这又被Java EXEC
- 24. EXEC
- 25. exec-shell返回:1 Ant构建错误= exec-shell返回:1 exec-shell返回:1平台安装包生成失败Android
- 26. PHP的exec()的CUDA
- 27. PHP exec()不返回
- 28. PHP - Log exec()调用
- 29. exec('unzip gallery.zip',$ return); PHP
- 30. php chown exec()问题!
看看这个问题:http://stackoverflow.com/questions/7582485/kill-mysql-query-on-user-abort/7582527#7582527 – Rijk