通过前面两篇文章分析了provider_admin里面服务启动过程,这篇我们把剩下的几个操作的实现做介绍,这里主要介绍list,status,stop,reload这四个操作,而额外的restart过程就是首先调用stop,后调用start的过程,不展开具体分析。先介绍stop过程。
function stopprovider($name){ $masterpid = getprovidermasterpid($name); if (empty($masterpid)) { waitprocessend($name); } else { if (!posix_kill(intval($masterpid), sigterm)) { fwrite(stderr, "end signal to {$name}: {$masterpid} failed" ); } waitprocessend($name); } $masterfile = fsof_provider_pid_path.$name.master_pid_file_format; $managerfile = fsof_provider_pid_path.$name.manager_pid_file_format; if (file_exists($masterfile)) { unlink($masterfile); } if (file_exists($managerfile)) { unlink($managerfile); } echo "stop server {$name} \033[32;40m [success] \033[0m".php_eol;}
以上就是如何进行对控制台provider_admin其他操作的详细内容。
