include_once dirname(__FILE__) . "/frame.class.inc"; include_once dirname(__FILE__) . "/class.unix.inc"; if (isset($_GET["status-instance"])) { status_instance(); exit; } if (isset($_GET["statrt"])) { status_instance_stats(); exit; } if (isset($_GET["start-instance"])) { start_instance(); exit; } if (isset($_GET["stop-instance"])) { stop_instance(); exit; } if (isset($_GET["restart-instance"])) { restart_instance(); exit; } if (isset($_GET["restart-instance-silent"])) { restart_instance_silent(); exit; } if (isset($_GET["build-instance"])) { build_instance(); exit; } if (isset($_GET["reload-all-instances"])) {
function stop() { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = @file_get_contents($pidfile); $unix = new unix(); if ($unix->process_exists($pid, basename(__FILE__))) { echo "Starting......: load-balancer engine Already executed PID {$pid}...\n"; return; } @file_put_contents($pidfile, getmypid()); $sql = "SELECT * FROM crossroads_main"; $q = new mysql(); $results = $q->QUERY_SQL($sql, "artica_backup"); while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) { echo "Stopping Crossroads Daemon...: instance id {$ligne["ID"]}\n"; stop_instance($ligne["ID"]); } $results = array(); $pgrep = $unix->find_program("pgrep"); $kill = $unix->find_program("kill"); echo "Stopping Crossroads Daemon...: search ghost processes\n"; $cmdline = "{$pgrep} -f \"\\/xr.+?pidfile.+?crossroads\\/cross_[0-9]+\\.pid\" 2>&1"; if ($GLOBALS["VERBOSE"]) { echo $cmdline . "\n"; } exec($cmdline, $results); while (list($num, $line) = each($results)) { if (preg_match("#([0-9]+)#", $line, $re)) { echo "Stopping Crossroads Daemon...: Ghost instance PID {$re[1]}\n"; shell_exec("{$kill} -9 {$re[1]}"); } } CleanInstances(); }