
1.忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。
2.检测死锁并且恢复。
3.仔细地对资源进行动态分配,以避免死锁。
4.通过破除死锁四个必要条件之一,来防止死锁产生。
检测死锁的代价很大。所有的类unix系统包括Linux对死锁不作任何处理,这是因为基于成本的考虑.选择鸵鸟算法
我也遇到过同样的问题。只不过我是编译安装的httpd2.4,而且问题也并非总是出现,有时候编译ok,有时候编译后就是有这种问题,尽管配置文件和服务管理脚本可以说是完全相同的。我发现不管PidFile怎样设置,始终在安装前缀目录下的logs目录(PidFile指令的默认值)中创建pid文件。把服务管理脚本的pidfile改为/usr/local/apache24/logs/httpd.pid,而主配置文件中不指定PidFile指令,就OK了。至于为什么有的编译有这样的情况,而有的却没有,我也搞不懂。补充:原因查明了,对于httpd2.4,使用Include包含了extra中的httpd-mpms.conf配置文件,PidFile属于Mpm模块中的指令。对于pidfile的设置如果在最下面取消注释了包含httpd-mpm.conf文件的那个Include指令,就必须到httpd-mpm.conf中修改PidFile指令的值,否则在主配置文件中没用,会被httpd-mpm.conf中的PidFile覆盖掉。如果是使用httpd2.2版本的软件的话,也无非就是PidFile指令的生效问题,大家好好查查。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)