不是“僵死”,也不是“睡眠”,类似“挂起”,但又kill不掉,只能-9杀掉……想来想去还是用“死锁”形容比较恰当些。
查找了下原因,是由于使用了Gearman扩展,php作为Client调用Worker未手动设置超时时间,调用不可访问的地址后造成php-cgi进程无限期占用,导致进程耗尽(不是资源耗尽)。
解决方法:当然是设定个超时时间了。
GearmanClient::setTimeout 该方法可以设置毫秒级的超时时间(厄……介超时的精度挺高啊~)。
BTW:php自身的timeout为啥子对此不起作用尼??