如题,PHP中我使用exec去执行另外一个程序,这个程序是一个常驻运行的后台程序A(内部执行deamon函数),然后我就发现A运行起来以后,会监听web的端口。
搜索了一下,执行exec相当于是fork了一个子进程,然后将子进程替换成你要运行的进程,因为是父子进程,A里面会把web打开的socket描述符继承过来,所以与web同时监听了网络端口。
有人说要设置socket的FD_CLOEXEC属性,但是Apache的服务程序,我怎么去设置这个?
求高人支招
在子进程中关闭套接字文件描述符即可