免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 9227 | 回复: 24
打印 上一主题 下一主题

来个高难度的罕见问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-02 15:59 |只看该作者 |倒序浏览
用户调用了a.php,a.php接受用户数据后,exec了一个脚本,姑且称之为b.sh;

如果b.sh里全是shell命令,那么一切顺利。

但如果b.sh里有一个类似于php -f c.php的命令,那么执行到这一步,b.sh脚本就僵死了,a.php也长时间不返回。


最后只有手工kill掉php和bash进程。。。


哪位高人能解释清楚其中的奥妙?


个人感觉有可能是php threadsafe造成的

论坛徽章:
0
2 [报告]
发表于 2010-08-03 11:00 |只看该作者
本帖最后由 amazergling 于 2010-08-03 11:09 编辑

刚才看了下,thread safe是diabled的

并且是以cgi形式跑的

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
3 [报告]
发表于 2010-08-03 12:21 |只看该作者
那就是PHP再调PHP就出现线程问题了?

论坛徽章:
0
4 [报告]
发表于 2010-08-03 13:29 |只看该作者
为什么不直接调用c.php非得要shell script的方式调用呢?

论坛徽章:
0
5 [报告]
发表于 2010-08-03 14:29 |只看该作者
那就是PHP再调PHP就出现线程问题了?
renxiao2003 发表于 2010-08-03 12:21



    我也怀疑是类似的问题


为什么不直接调用c.php非得要shell script的方式调用呢?
a.a 发表于 2010-08-03 13:29


    a.php是前台ui啦,c.php负责处理一些后台善后工作

论坛徽章:
0
6 [报告]
发表于 2010-08-03 14:31 |只看该作者
另外也试过把b.sh里的php执行方式改为shell方式,也就是在c.php里指定
!#/usr/local/bin/php

使得c.php可以不用php-f,而直接以bin的形式执行,但也会僵死。

论坛徽章:
0
7 [报告]
发表于 2010-08-03 15:48 |只看该作者
就像你说的有一个前台后台,你把所有的数据提交给c.php它就在后台执行了吗?a.php 该怎么运行还怎么运。

论坛徽章:
0
8 [报告]
发表于 2010-08-12 18:35 |只看该作者
就像你说的有一个前台后台,你把所有的数据提交给c.php它就在后台执行了吗?a.php 该怎么运行还怎么运。
a.a 发表于 2010-08-03 15:48



    可问题就在于所有的php都停止服务,即便页面新开窗口运行php都失败,除非手工杀死php和bash进程

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
9 [报告]
发表于 2010-08-13 09:30 |只看该作者
以前遇到过这种问题,也是php和shell结合的时候,出现这种莫名的死进程,也是找不到问题原因,当时我记得好像是需要先调用一个php文件,检测数据库链接情况,然后调用shell去重启一个服务器进程,就会出现这种问题。
后来改成系统定时执行一个shell,shell里去调php检测数据库,然后重启,就没出过问题。。。。。。原因还是没找到。

论坛徽章:
0
10 [报告]
发表于 2010-08-17 10:48 |只看该作者
发现凡是有 父进程(php)发起的shell,再去调用php脚本时,也就是c.php和a.php持有相同的session,但问题在于,c.php一旦被吊起,会把a.php的session清空,问题越来越奥妙了。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP