Пример #1
0
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"])) {
Пример #2
0
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();
}