这是一个创建于 4011 天前的主题,其中的信息可能已经有所发展或是发生改变。
windows下用fastcgi跑php,因为没有php-fpm 所以用python写了个监控程序,监视php-cgi.exe的个数,如果少于10个,就用subprocess.Popen重新生成一个
import os
import subprocess
import time
import thread
def timer(no, interval):
cnt = 0
while cnt < 100:
print ' %d Thread:(%d) Time:%s\n' % (cnt,no, time.ctime())
check()
time.sleep(interval)
print cnt
cnt=cnt+1
thread.exit_thread()
def test(): #Use thread.start_new_thread() to create 2 new threads
t=thread.start_new_thread(timer, (1,1))
#thread.start_new_thread(timer, (2,2))
def check():
cmd="php-cgi.exe -c php.ini -b 127.0.0.1:9000"
pipe = os.popen("tasklist |grep php-cgi.exe")
cgi_cnt = len(pipe.read().split("\n"))
pipe.close()
print(cgi_cnt)
if cgi_cnt < 10:
out=subprocess.Popen(cmd,shell=True)
print(out)
if __name__=='__main__':
test()
while True:
pass
用浏览器访问可以,但是用ab一测试,就会提示apr_socket_connect(): 以一种访问权限不允许的方式做了一个访问套接字的尝试,这是什么原因?