当前位置: 首页>>代码示例>>PHP>>正文


PHP unix::PIDOF_PATTERN_ALL方法代码示例

本文整理汇总了PHP中unix::PIDOF_PATTERN_ALL方法的典型用法代码示例。如果您正苦于以下问题:PHP unix::PIDOF_PATTERN_ALL方法的具体用法?PHP unix::PIDOF_PATTERN_ALL怎么用?PHP unix::PIDOF_PATTERN_ALL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在unix的用法示例。


在下文中一共展示了unix::PIDOF_PATTERN_ALL方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: user_status_table

function user_status_table()
{
    if (isset($GLOBALS["user_status_table_executed"])) {
        if ($GLOBALS["VERBOSE"]) {
            $trace = debug_backtrace();
            if (isset($trace[1])) {
                $called = " called by " . basename($trace[1]["file"]) . " {$trace[1]["function"]}() line {$trace[1]["line"]}";
                echo "user_status_table Already executed {$called}\n";
            }
        }
        return;
    }
    $GLOBALS["user_status_table_executed"] = true;
    $unix = new unix();
    $sock = new sockets();
    $timefile = "/usr/share/artica-postfix/ressources/databases/ZARAFA_DB_STATUS.db";
    $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid";
    $mns = $unix->file_time_min($timefile);
    if ($GLOBALS["VERBOSE"]) {
        echo "{$timefile} = {$mns}Mn\n";
    }
    if (!$GLOBALS["FORCE"]) {
        if (system_is_overloaded(basename(__FILE__))) {
            system_admin_events("Overload system, aborting", __FUNCTION__, __FILE__, __LINE__, "zarafa");
            return;
        }
        if ($mns < 180) {
            return;
        }
        $pid = $unix->get_pid_from_file($pidfile);
        if ($unix->process_exists($pid, basename(__FILE__))) {
            $timeProcess = $unix->PROCCESS_TIME_MIN($pid);
            system_admin_events("{$pid}, task is already executed (since {$timeProcess}Mn}), aborting", __FUNCTION__, __FILE__, __LINE__, "zarafa");
            if ($timeProcess < 15) {
                return;
            }
            $kill = $unix->find_program("kill");
            unix_system_kill_force($pid);
            system_admin_events("{$pid}, killed (since {$timeProcess}Mn}), aborting", __FUNCTION__, __FILE__, __LINE__, "zarafa");
        }
    }
    @file_put_contents($pidfile, getmypid());
    @unlink($timefile);
    @file_put_contents($timefile, time());
    $ZarafaIndexPath = $sock->GET_INFO("ZarafaIndexPath");
    $ZarafaStoreOutsidePath = $sock->GET_INFO("ZarafaStoreOutsidePath");
    $ZarafaMySQLServiceType = $sock->GET_INFO("ZarafaMySQLServiceType");
    if (!is_numeric($ZarafaMySQLServiceType)) {
        $ZarafaMySQLServiceType = 1;
    }
    // $ZarafaMySQLServiceType =1 ou 2 /var/lib/mysql
    // $ZarafaMySQLServiceType =3 --> dedicated instance
    if ($ZarafaIndexPath == null) {
        $ZarafaIndexPath = "/var/lib/zarafa/index";
    }
    if ($ZarafaStoreOutsidePath == null) {
        $ZarafaStoreOutsidePath = "/var/lib/zarafa";
    }
    $ARRAY["ZARAFA_INDEX"] = $unix->DIRSIZE_BYTES($ZarafaIndexPath);
    if ($ZarafaMySQLServiceType == 1 or $ZarafaMySQLServiceType == 2) {
        $ARRAY["ZARAFA_DB"] = $unix->DIRSIZE_BYTES("/var/lib/mysql");
    }
    if ($ZarafaMySQLServiceType == 3) {
        $WORKDIR = $sock->GET_INFO("ZarafaDedicateMySQLWorkDir");
        if ($WORKDIR == null) {
            $WORKDIR = "/home/zarafa-db";
        }
        $ARRAY["ZARAFA_DB"] = $unix->DIRSIZE_BYTES($WORKDIR);
    }
    $ARRAY["ATTACHS"] = $unix->DIRSIZE_BYTES($ZarafaStoreOutsidePath);
    @file_put_contents($timefile, serialize($ARRAY));
    @chmod($timefile, 0750);
    unset($ARRAY);
    $zarafaadmin = $unix->find_program("zarafa-admin");
    $kill = $unix->find_program("kill");
    $pids = $unix->PIDOF_PATTERN_ALL("zarafa-admin -l");
    if (count($pids) > 0) {
        while (list($pid, $line) = each($pids)) {
            $time = $unix->PROCESS_TTL($pid);
            if ($time > 15) {
                $unix->_syslog("killing zarafa-admin -l pid {$pid} ({$time}mn)", basename(__FILE__));
                unix_system_kill_force($pid);
            }
        }
    }
    $pid = $unix->PIDOF_PATTERN("zarafa-admin -l");
    if ($unix->process_exists($pid)) {
        $unix->_syslog("zarafa-admin -l pid {$pid} still running", basename(__FILE__));
    }
    if ($GLOBALS["VERBOSE"]) {
        echo "{$zarafaadmin} -l 2>&1\n--------------------------------------------------------------------\n";
    }
    exec("{$zarafaadmin} -l 2>&1", $results);
    while (list($num, $line) = each($results)) {
        $line = trim($line);
        if ($GLOBALS["VERBOSE"]) {
            echo "\"{$line}\"\n";
        }
        if (preg_match("#User list for\\s+(.+?)\\(#i", $line, $re)) {
            $ou = $re[1];
//.........这里部分代码省略.........
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:101,代码来源:exec.zarafa.build.stores.php

示例2: phpcgi

function phpcgi()
{
    $unix = new unix();
    $phpcgi = $unix->LIGHTTPD_PHP5_CGI_BIN_PATH();
    $pids = $unix->PIDOF_PATTERN_ALL($phpcgi);
    if (count($pids) == 0) {
        return;
    }
    $c = 0;
    while (list($pid, $ligne) = each($pids)) {
        $time = $unix->PROCESS_TTL($pid);
        if ($time > 1640) {
            $c++;
            $unix->KILL_PROCESS($pid, 9);
        }
    }
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:17,代码来源:exec.lighttpd.php

示例3: start

function start($xtime = 0)
{
    if ($GLOBALS["VERBOSE"]) {
        "echo Loading...\n";
    }
    $unix = new unix();
    $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__));
    if (count($pids) > 5) {
        die;
    }
    if ($xtime == 0) {
        if ($GLOBALS["VERBOSE"]) {
            "echo Loading done...\n";
        }
        $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid";
        $timefile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time";
        $pid = @file_get_contents($pidfile);
        if (!$GLOBALS["FORCE"]) {
            if ($pid < 100) {
                $pid = null;
            }
            $unix = new unix();
            if ($unix->process_exists($pid, basename(__FILE__))) {
                if ($GLOBALS["VERBOSE"]) {
                    echo "Already executed pid {$pid}\n";
                }
                return;
            }
            $timeexec = $unix->file_time_min($timefile);
            if ($timeexec < 720) {
                return;
            }
            $mypid = getmypid();
            @file_put_contents($pidfile, $mypid);
        }
    }
    @unlink($timefile);
    @file_put_contents($timefile, time());
    $nohup = $unix->find_program("nohup");
    $php = $unix->LOCATE_PHP5_BIN();
    if ($xtime > 0) {
        $dateRequested = date("Y-m-d", $xtime);
        $dateRequested_sql = " WHERE zDate='{$dateRequested}'";
        if (SquidStatisticsTasksOverTime()) {
            stats_admin_events(1, "Statistics overtime... Aborting ( requested for {$dateRequested} ) ", null, __FILE__, __LINE__);
            return;
        }
    }
    $sql = "SELECT\n\tDATE_FORMAT(zDate,'%Y%m%d') as tprefix,DATE_FORMAT(zDate,'%Y-%m-%d') as CurDay,tablename FROM tables_day{$dateRequested_sql}  \n\tORDER BY zDate DESC";
    $q = new mysql_squid_builder();
    $results = $q->QUERY_SQL($sql);
    //bigint(100)
    if ($q->FIELD_TYPE("tables_day", "totalBlocked", "syslogs") == "bigint(100)") {
        $q->QUERY_SQL('ALTER TABLE `tables_day` CHANGE `size` `size` BIGINT( 255 ) NOT NULL');
        $q->QUERY_SQL('ALTER TABLE `tables_day` CHANGE `totalBlocked` `totalBlocked` BIGINT( 255 ) NOT NULL');
        $q->QUERY_SQL('ALTER TABLE `tables_day` CHANGE `requests` `requests` BIGINT( 255 ) NOT NULL');
        $q->QUERY_SQL('ALTER TABLE `tables_day` CHANGE `totalsize` `totalsize` BIGINT( 255 ) NOT NULL');
        $q->QUERY_SQL('ALTER TABLE `tables_day` CHANGE `size_cached` `size_cached` BIGINT( 255 ) NOT NULL');
    }
    if (!$q->FIELD_EXISTS("tables_day", "totalKeyWords")) {
        $q->QUERY_SQL("ALTER TABLE `tables_day` ADD `totalKeyWords` BIGINT( 255 ) NOT NULL NOT NULL,ADD INDEX ( `totalKeyWords`)");
        if (!$q->ok) {
            squid_admin_mysql(0, $q->mysql_error, null, __FILE__, __LINE__);
            echo $q->mysql_error;
            return;
        }
    }
    if (!$q->FIELD_EXISTS("tables_day", "DangerousCatz")) {
        $q->QUERY_SQL("ALTER TABLE `tables_day` ADD `DangerousCatz` smallint( 1 ) NOT NULL NOT NULL,ADD INDEX ( `DangerousCatz`)");
    }
    if (!$q->ok) {
        echo "{$q->mysql_error}.<hr>{$sql}</hr>";
    }
    while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) {
        $tablename = $ligne["tablename"];
        $hourtable = $ligne["tprefix"] . "_hour";
        if ($ligne["tprefix"] == date("Ymd")) {
            continue;
        }
        $KeyWordsTable = "searchwordsD_" . $ligne["tprefix"];
        $members_table = "{$ligne["tprefix"]}_members";
        $youtube_table = "youtubeday_{$ligne["tprefix"]}";
        $myXtime = strtotime($ligne["CurDay"] . "00:00:00");
        if ($q->TABLE_EXISTS($hourtable)) {
            $sql = "SELECT SUM(size) as tsize, SUM(hits) as thits FROM {$hourtable}";
            $ligne2 = mysql_fetch_array($q->QUERY_SQL($sql));
            $size = $ligne2["tsize"];
            $hits = $ligne2["thits"];
            $sizeL = FormatBytes($size / 1024);
            if ($GLOBALS["VERBOSE"]) {
                echo "{$tablename} - {$sizeL} / {$hits} {$hourtable} [ {$sql} ]\n";
            }
            $sql = "UPDATE tables_day SET totalsize='{$size}',requests='{$hits}' WHERE tablename='{$tablename}'";
            $q->QUERY_SQL($sql);
            if (!$q->ok) {
                if ($GLOBALS["VERBOSE"]) {
                    echo $q->mysql_error . "\n";
                }
            }
            $sql = "SELECT COUNT(`sitename`) as tcount FROM {$hourtable} WHERE LENGTH(`category`)=0";
//.........这里部分代码省略.........
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:101,代码来源:exec.squid.stats.totals.php

示例4: xstart

function xstart()
{
    $T1 = time();
    $curl = new ccurl();
    $unix = new unix();
    $GLOBALS["MYPID"] = getmypid();
    $pidfile = "/etc/artica-postfix/pids/windowupdate.partial.processor.pid";
    $pid = $unix->get_pid_from_file($pidfile);
    if ($unix->process_exists($pid, basename(__FILE__))) {
        die;
    }
    $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__), true);
    if (count($pids) > 0) {
        while (list($i, $line) = each($pids)) {
            events("Already executed PID:{$i}... aborting ", __LINE__);
        }
        die;
    }
    $TEMPDIR = $unix->TEMP_DIR() . "/WindowsUpdates";
    $rm = $unix->find_program("rm");
    @file_put_contents($pidfile, $GLOBALS["MYPID"]);
    if (is_dir($TEMPDIR)) {
        shell_exec("{$rm} -rf {$TEMPDIR}");
        @mkdir($TEMPDIR);
    }
    $GLOBALS["WindowsUpdateMaxToPartialQueue"] = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateMaxToPartialQueue"));
    $GLOBALS["WindowsUpdateCachingDir"] = @file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateCachingDir");
    if ($GLOBALS["WindowsUpdateCachingDir"] == null) {
        $GLOBALS["WindowsUpdateCachingDir"] = "/home/squid/WindowsUpdate";
    }
    $WindowsUpdateDownTimeout = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateDownTimeout"));
    if ($WindowsUpdateDownTimeout == 0) {
        $WindowsUpdateDownTimeout = 600;
    }
    $WindowsUpdateBandwidthMaxFailed = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateBandwidthMaxFailed"));
    if ($WindowsUpdateBandwidthMaxFailed == 0) {
        $WindowsUpdateBandwidthMaxFailed = 50;
    }
    $WindowsUpdateMaxPartition = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateMaxPartition"));
    if ($WindowsUpdateMaxPartition == 0) {
        $WindowsUpdateMaxPartition = 80;
    }
    $fileSource = "{$GLOBALS["WindowsUpdateCachingDir"]}/Partials/Queue.log";
    $LinesCount = $unix->COUNT_LINES_OF_FILE($fileSource);
    if (!is_file($fileSource)) {
        return;
    }
    $md5start = md5_file($fileSource);
    $CheckPartitionPercentage = CheckPartitionPercentage();
    if ($CheckPartitionPercentage > $WindowsUpdateMaxPartition) {
        events("Failed: Storage Partition exceed {$WindowsUpdateMaxPartition}% Stopping retreivals", __LINE__);
        @touch("/etc/squid3/WindowsUpdatePartitionExceed");
        DirectorySize();
        return;
    }
    $WindowsUpdateInProduction = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateInProduction"));
    if ($WindowsUpdateInProduction == 0) {
        if ($unix->IsProductionTime()) {
            $time = $unix->file_time_min("/etc/artica-postfix/pids/WindowsUpdateInProduction");
            if ($time > 15) {
                @unlink("/etc/artica-postfix/pids/WindowsUpdateInProduction");
                @touch("/etc/artica-postfix/pids/WindowsUpdateInProduction");
                events("INFO: Aborting, No download during production time", __LINE__);
                DirectorySize();
            }
            return;
        }
    }
    if (is_file("/etc/squid3/WindowsUpdatePartitionExceed")) {
        @unlink("/etc/squid3/WindowsUpdatePartitionExceed");
    }
    $handle = @fopen($fileSource, "r");
    if (!$handle) {
        events("Fopen failed on {$fileSource}", __LINE__);
        return false;
    }
    $NEWBUFFER = array();
    $URLALREADY = array();
    $NewBuffer = array();
    $FinalSize = 0;
    $FF = 0;
    $c = 0;
    while (!feof($handle)) {
        $buffer = trim(fgets($handle));
        $c++;
        if ($buffer == null) {
            continue;
        }
        $TR = explode("|||", $buffer);
        $LocalFile = $TR[0];
        $URI = $TR[1];
        $ExpectedSize = $TR[2];
        if (!isset($TR[3])) {
            $TR[3] = 1;
        }
        if (isset($URLALREADY[$URI])) {
            continue;
        }
        $URLALREADY[$URI] = true;
        $BaseNameOfFile = basename($URI);
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.windowsupdate-partials.php

示例5: xstart

function xstart()
{
    $unix = new unix();
    $TimeFile = "/etc/artica-postfix/pids/exec.squidcache.php.time";
    $PidFile = "/etc/artica-postfix/pids/exec.squidcache.php.pid";
    $Pid = $unix->get_pid_from_file($PidFile);
    if ($unix->process_exists($Pid)) {
        $pidtime = $unix->PROCCESS_TIME_MIN($Pid);
        if ($pidtime > 29) {
            events("Max execution time reached 30Mn for PID {$Pid} Kill it...", 0, 2, __LINE__);
            unix_system_kill_force($Pid);
            die;
        }
        events("Already running PID {$Pid} since {$pidtime}Mn", 0, 2, __LINE__);
        return;
    }
    @file_put_contents($PidFile, getmypid());
    $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__));
    if (count($pids) > 3) {
        events("Too many instances " . count($pids) . " dying", 0, 1, __LINE__);
        $mypid = getmypid();
        while (list($pid, $ligne) = each($pids)) {
            if ($pid == $mypid) {
                continue;
            }
            events("Killing {$pid}");
            unix_system_kill_force($pid);
        }
    }
    $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__));
    if (count($pids) > 3) {
        events("Too many instances " . count($pids) . " dying", 0, 2, __LINE__);
        die;
    }
    @unlink($TimeFile);
    @file_put_contents($TimeFile, time());
    $sock = new sockets();
    $GLOBALS["HyperCacheStoragePath"] = $sock->GET_INFO("HyperCacheStoragePath");
    if ($GLOBALS["HyperCacheStoragePath"] == null) {
        $GLOBALS["HyperCacheStoragePath"] = "/home/artica/proxy-cache";
    }
    @chown("/usr/share/squid3", "squid");
    @chgrp("/usr/share/squid3", "squid");
    HyperCacheMirror();
    if ($GLOBALS["HYPER_CACHE_VERBOSE"]) {
        events("Storage path: {$GLOBALS["HyperCacheStoragePath"]}", 0, 2, __LINE__);
        events("Scanning /usr/share/squid3", 0, 2, __LINE__);
    }
    $f = $unix->DirFiles("/usr/share/squid3", "HyperCacheQueue-.+?-([0-9]+)\\.db\$");
    $GLOBALS["SIZE_DOWNLOADED"] = 0;
    $GLOBALS["HITS"] = 0;
    while (list($num, $file) = each($f)) {
        if ($GLOBALS["HYPER_CACHE_VERBOSE"]) {
            events("Found database: {$file}", 0, 2, __LINE__);
        }
        if (!preg_match("#^HyperCacheQueue-.+?-([0-9]+)\\.db\$#", $file, $re)) {
            continue;
        }
        if (preg_match("#HyperCacheQueue-dropbox\\.com#", $file)) {
            continue;
        }
        $ID = $re[1];
        HyperCacheScanDBFile("/usr/share/squid3/{$file}", $ID);
    }
    if ($GLOBALS["SIZE_DOWNLOADED"] > 0) {
        $size = FormatBytes($GLOBALS["SIZE_DOWNLOADED"] / 1024);
        $hits = $GLOBALS["HITS"];
        events("{$size} downloaded -  {$hits} requests", $ID, 2, __LINE__);
        squid_admin_enforce(2, "{$size} downloaded and store {$hits} requests", null, __FILE__, __LINE__);
    }
    if ($GLOBALS["VERBOSE"]) {
        echo "xstart ---> DeleteRules\n";
    }
    DeleteRules();
    if ($GLOBALS["VERBOSE"]) {
        echo "xstart ---> GetRulesSizes\n";
    }
    GetRulesSizes();
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:79,代码来源:exec.squidcache.php

示例6: clean_nmap_processes

function clean_nmap_processes()
{
    $unix = new unix();
    $nmap = $unix->find_program("nmap");
    if (!is_file($nmap)) {
        return;
    }
    $pids = $unix->PIDOF_PATTERN_ALL($nmap);
    while (list($pid, $ar) = each($pids)) {
        $Time = $unix->PROCCESS_TIME_MIN($pid, 60);
    }
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:12,代码来源:exec.cleanfiles.php

示例7: start_squid

function start_squid($aspid = false)
{
    $GLOBALS["LOGS"] = array();
    $suffix = null;
    if ($GLOBALS["MONIT"]) {
        $suffix = " (by system monitor)";
    }
    if ($GLOBALS["BY_CACHE_LOGS"]) {
        $suffix = " (by cache.log monitor)";
    }
    if ($GLOBALS["BY_STATUS"]) {
        $suffix = " (by Artica monitor)";
    }
    if ($GLOBALS["BY_CLASS_UNIX"]) {
        $suffix = " (by Artica class.unix.inc)";
    }
    if ($GLOBALS["BY_FRAMEWORK"]) {
        $suffix = " (by Artica framework)";
    }
    if ($GLOBALS["BY_OTHER_SCRIPT"]) {
        $suffix = " (by other script)";
    }
    if ($GLOBALS["BY_ARTICA_INSTALL"]) {
        $suffix = " (by artica-install)";
    }
    if ($GLOBALS["BY_FORCE_RECONFIGURE"]) {
        $suffix = " (after building settings)";
    }
    $unix = new unix();
    $php = $unix->LOCATE_PHP5_BIN();
    $nohup = $unix->find_program("nohup");
    $sock = new sockets();
    $reconfigure = false;
    $SQUIDEnable = $sock->GET_INFO("SQUIDEnable");
    $NtpdateAD = $sock->GET_INFO("NtpdateAD");
    if (!is_numeric($SQUIDEnable)) {
        $SQUIDEnable = 1;
    }
    $kill = $unix->find_program("kill");
    if (!is_numeric($NtpdateAD)) {
        $NtpdateAD = 0;
    }
    $su_bin = $unix->find_program("su");
    $sysctl = $unix->find_program("sysctl");
    $squidbin = $unix->LOCATE_SQUID_BIN();
    if (!is_file($squidbin)) {
        build_progress_start("Not installed", 110);
        if ($GLOBALS["OUTPUT"]) {
            echo "Restart......: Squid-cache, not installed\n";
        }
        return;
    }
    if ($GLOBALS["MONIT"]) {
        if (function_exists("debug_backtrace")) {
            $trace = debug_backtrace();
            if (isset($trace[1])) {
                $file = basename($trace[1]["file"]);
                $function = $trace[1]["function"];
                $line = $trace[1]["line"];
                $called = "Called by {$function}() from line {$line}";
            }
        }
        $pid = SQUID_PID();
        if ($unix->process_exists($pid)) {
            $ps = $unix->find_program("ps");
            $grep = $unix->find_program("grep");
            exec("{$ps} aux|{$grep} squid 2>&1", $results);
            squid_admin_mysql(2, "Monit ordered to start squid but squid is still in memory PID {$pid} ??", "I cannot accept this order, see details\n" . @implode("\n", $results), __FILE__, __LINE__);
            $squidpidfile = $unix->LOCATE_SQUID_PID();
            @file_put_contents($squidpidfile, $pid);
            return;
        }
        squid_admin_mysql(1, "Monit ordered to start squid", $called, __FILE__, __LINE__);
    }
    if ($SQUIDEnable == 0) {
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " Squid is disabled...\n";
        }
        build_progress_start("Proxy service is disabled", 110);
        return;
    }
    if (is_file("/etc/init.d/iptables-transparent")) {
        shell_exec("/etc/init.d/iptables-transparent start");
    }
    if (is_file("/etc/artica-postfix/squid.lock")) {
        $time = $unix->file_time_min("/etc/artica-postfix/squid.lock");
        if ($time < 60) {
            if ($GLOBALS["OUTPUT"]) {
                echo "Starting......: " . date("H:i:s") . " Proxy is locked (since {$time}Mn...\n";
            }
            build_progress_start(" Proxy is locked (since {$time}Mn", 110);
            return;
        }
        @unlink("/etc/artica-postfix/squid.lock");
    }
    $pids = $unix->PIDOF_PATTERN_ALL("exec.squid.watchdog.php --start");
    if (count($pids) > 2) {
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " Too many instances " . count($pids) . " starting squid, kill them!\n";
        }
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.squid.watchdog.php

示例8: usersMenus

}
if ($argv[1] == "--progress") {
    restart_progress();
    exit;
}
$users = new usersMenus();
if ($users->WEBSTATS_APPLIANCE) {
    iptables_delete_all();
    die;
}
if (!$users->SQUID_INSTALLED) {
    iptables_delete_all();
    die;
}
$sysctl = $unix->find_program("sysctl");
$pids = $unix->PIDOF_PATTERN_ALL("exec.squid.transparent.php");
if ($GLOBALS["OUTPUT"]) {
    echo "Starting......: " . date("H:i:s") . " instances:" . count($pids) . "\n";
}
if (count($pids) > 2) {
    if ($GLOBALS["OUTPUT"]) {
        echo "Starting......: " . date("H:i:s") . " Too many instances " . count($pids) . " starting squid, kill them!\n";
    }
    $mypid = getmypid();
    while (list($pid, $ligne) = each($pids)) {
        if ($pid == $mypid) {
            continue;
        }
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " killing {$pid}\n";
        }
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:31,代码来源:exec.squid.transparent.php

示例9: videocache

 }
 if ($argv[1] == "--videocache") {
     $conf[] = videocache();
     $conf[] = videocache_scheduler();
     $conf[] = videocache_clients();
     echo @implode("\n", $conf);
     die;
 }
 if ($argv[1] == "--functions") {
     $arr = get_defined_functions();
     print_r($arr);
     die;
 }
 if ($argv[1] == "--all-squid") {
     $unix = new unix();
     $processes = $unix->PIDOF_PATTERN_ALL(basename(__FILE__) . ".*?{$argv[1]}", true);
     events(count($processes) . " Running  " . @implode(";", $processes), "{$argv[1]}", __LINE__);
     if (count($processes) > 2) {
         while (list($num, $pid) = each($processes)) {
             events("Killing pid {$pid}  ", "MAIN", __LINE__);
             $unix->KILL_PROCESS($pid, 9);
         }
         $processes = $unix->PIDOF_PATTERN_ALL(basename(__FILE__) . ".*?{$argv[1]}", true);
         events(count($processes) . " Running  " . @implode(";", $processes), "{$argv[1]}", __LINE__);
     }
     if (count($processes) > 0) {
         events("ALL_SQUID: Processes already exists, aborting", "{$argv[1]}", __LINE__);
         die;
     }
     $cachefile = "/usr/share/artica-postfix/ressources/databases/ALL_SQUID_STATUS";
     $GLOBALS["DISABLE_WATCHDOG"] = true;
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:31,代码来源:exec.status.php

示例10: status

function status()
{
    $unix = new unix();
    $phpcgi = $unix->LIGHTTPD_PHP5_CGI_BIN_PATH();
    $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid";
    $pidtime = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time";
    $pid = $unix->get_pid_from_file($pidfile);
    if ($unix->process_exists($pid, basename(__FILE__))) {
        $time = $unix->PROCCESS_TIME_MIN($pid);
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: Already Artica task running PID {$pid} since {$time}mn\n";
        }
        return;
    }
    if (!$GLOBALS["VERBOSE"]) {
        $timeExec = $unix->file_time_min($pidtime);
        if ($timeExec < 240) {
            return;
        }
    }
    @unlink($pidtime);
    @file_put_contents($pidtime, time());
    @file_put_contents($pidfile, getmypid());
    $pid = LIGHTTPD_PID();
    $unix = new unix();
    if ($unix->process_exists($pid)) {
        $timepid = $unix->PROCCESS_TIME_MIN($pid);
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: Framework service running {$pid} since {$timepid}Mn...\n";
        }
    } else {
        FrmToSyslog("Framework service stopped");
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: Framework service stopped...\n";
        }
        start(true);
        return;
    }
    $MAIN_PID = $pid;
    $phpcgi = $unix->LIGHTTPD_PHP5_CGI_BIN_PATH();
    $kill = $unix->find_program("kill");
    $array = $unix->PIDOF_PATTERN_ALL($phpcgi);
    if (count($array) == 0) {
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: no php-cgi processes...\n";
        }
        return;
    }
    while (list($pid, $line) = each($array)) {
        $username = $unix->PROCESS_GET_USER($pid);
        if ($username == null) {
            continue;
        }
        if ($username != "root") {
            continue;
        }
        $time = $unix->PROCCESS_TIME_MIN($pid);
        $arrayPIDS[$pid] = $time;
        $ppid = $unix->PPID_OF($pid);
        if ($time > 20) {
            if ($ppid != $MAIN_PID) {
                if ($GLOBALS["VERBOSE"]) {
                    echo "killing {$pid} {$time}mn ppid:{$ppid}/{$MAIN_PID}\n";
                }
                unix_system_kill_force($pid);
            }
        }
    }
    if ($GLOBALS["OUTPUT"]) {
        echo "Starting......: " . date("H:i:s") . " [INIT]: " . count($arrayPIDS) . " php-cgi processes...\n";
    }
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:72,代码来源:exec.framework.php

示例11: restart_ldap

function restart_ldap()
{
    $unix = new unix();
    $MYPID_FILE = "/etc/artica-postfix/pids/restart_ldap.pid";
    $pid = $unix->get_pid_from_file($MYPID_FILE);
    if (!is_file("/etc/artica-postfix/settings/Daemons/EnableOpenLDAP")) {
        @file_put_contents("/etc/artica-postfix/settings/Daemons/EnableOpenLDAP", 1);
        @chmod("/etc/artica-postfix/settings/Daemons/EnableOpenLDAP", 0755);
    }
    $EnableOpenLDAP = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/EnableOpenLDAP"));
    if ($unix->process_exists($pid, basename(__FILE__))) {
        echo "slapd: [INFO] Artica task already running pid {$pid}\n";
        restart_ldap_progress("{failed}  [" . __LINE__ . "]", 110);
        die;
    }
    $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__) . ".*?--restart", true);
    if (count($pids) > 0) {
        while (list($i, $line) = each($pids)) {
            echo "slapd: [INFO] Artica task already executed PID:{$i}... aborting\n";
        }
        restart_ldap_progress("{failed}", 110);
        die;
    }
    if ($GLOBALS["MONIT"]) {
        squid_admin_mysql(0, "Monit (Watchdog) Ask to restart OpenLDAP service...", null, __FILE__, __LINE__);
        system_admin_mysql(0, "Monit (Watchdog) Ask to restart OpenLDAP service...", null, __FILE__, __LINE__);
    }
    if (!$GLOBALS["FORCE"]) {
        $lastexecution = $unix->file_time_min($MYPID_FILE);
        if ($lastexecution == 0) {
            $unix->ToSyslog("Restarting the OpenLDAP by `{$GLOBALS["BY_FRAMEWORK"]}` aborted this command must be executed minimal each 1mn", false, basename(__FILE__));
            echo "slapd: [INFO] this command must be executed minimal each 1mn\n";
            die;
        }
    }
    @unlink($MYPID_FILE);
    restart_ldap_progress("{build_init_script}", 5);
    $INITD_PATH = $unix->SLAPD_INITD_PATH();
    echo "Script: {$INITD_PATH}\n";
    buildscript();
    if (!is_file($INITD_PATH)) {
        restart_ldap_progress("{build_init_script} {failed}", 110);
        return;
    }
    @file_put_contents($MYPID_FILE, getmypid());
    $unix->ToSyslog("Restarting the OpenLDAP daemon by `{$GLOBALS["BY_FRAMEWORK"]}`", false, basename(__FILE__));
    restart_ldap_progress("{stopping_service}", 10);
    stop_ldap(true);
    if ($EnableOpenLDAP == 1) {
        $php = $unix->LOCATE_PHP5_BIN();
        shell_exec("/etc/init.d/monit restart");
        restart_ldap_progress("{starting_service}", 40);
        start_ldap(true);
    }
}
开发者ID:articatech,项目名称:artica,代码行数:55,代码来源:exec.initslapd.php

示例12: Paranoid

function Paranoid($nopid = false)
{
    $unix = new unix();
    if (!$nopid) {
        $mypid = getmypid();
        if (isset($argv[1])) {
            $argv = $argv[1];
        }
        $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__) . ".*?{$argv}");
        if (count($pids) > 1) {
            while (list($num, $ligne) = each($pids)) {
                $cmdline = @file_get_contents("/proc/{$num}/cmdline");
                echo "Starting......: " . date("H:i:s") . " [SERV]: [{$mypid}] Already process PID {$num} {$cmdline} exists..\n";
                echo "Starting......: " . date("H:i:s") . " [SERV]: [{$mypid}] Running " . @file_get_contents("/proc/{$num}/cmdline") . "\n";
            }
            build_progress_paranoid("{already_process_exists_try_later}", 110);
            die;
        }
    }
    $ParanoidBlockerEmergency = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/ParanoidBlockerEmergency"));
    $UfdbEnableParanoidMode = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/UfdbEnableParanoidMode"));
    if ($ParanoidBlockerEmergency == 1) {
        if (isInSquid()) {
            build_progress_paranoid("{reconfigure}", 70);
            $php = $unix->LOCATE_PHP5_BIN();
            system("{$php} /usr/share/artica-postfix/exec.squid.php --build --force");
        }
        build_progress_paranoid("{emergency}!!!", 110);
        @unlink("/etc/squid3/paranoid.db");
        return;
    }
    if ($UfdbEnableParanoidMode == 0) {
        @unlink("/etc/squid3/paranoid.db");
        if (isInSquid()) {
            build_progress_paranoid("{reconfigure}", 70);
            $php = $unix->LOCATE_PHP5_BIN();
            system("{$php} /usr/share/artica-postfix/exec.squid.php --build --force");
        }
        build_progress_paranoid("{disabled}!!!", 110);
        return;
    }
    $sock = new sockets();
    if ($sock->EnableUfdbGuard() == 0) {
        build_progress_paranoid("{webfiltering} {disabled}!!!", 110);
        @unlink("/etc/squid3/paranoid.db");
        return;
    }
    build_progress_paranoid("{webfiltering} {enabled} OK", 25);
    $ipClass = new IP();
    $SquidFam = new squid_familysite();
    $q = new mysql_squid_builder();
    $ARRAY = array();
    $results = $q->QUERY_SQL("SELECT pattern, object FROM webfilters_paranoid");
    while ($ligne = mysql_fetch_assoc($results)) {
        $ligne["pattern"] = trim(strtolower($ligne["pattern"]));
        if ($ligne["pattern"] == null) {
            continue;
        }
        build_progress_paranoid("{$ligne["pattern"]}", 50);
        $ARRAY[$ligne["object"]][$ligne["pattern"]] = true;
    }
    $src = array();
    $dstdomain = array();
    if (isset($ARRAY["src"])) {
        while (list($pattern, $xtrace) = each($ARRAY["src"])) {
            if (!$ipClass->isValid($pattern)) {
                continue;
            }
            $MAIN["IPSRC"][$pattern] = true;
        }
    }
    if (isset($ARRAY["dstdomain"])) {
        while (list($pattern, $xtrace) = each($ARRAY["dstdomain"])) {
            $MAIN["DOMS"][$pattern] = true;
        }
    }
    if (isset($ARRAY["dstdomainsrc"])) {
        while (list($pattern, $xtrace) = each($ARRAY["dstdomainsrc"])) {
            $fr = explode("/", $pattern);
            if (!$ipClass->isValid($fr[0])) {
                continue;
            }
            if ($fr[1] == null) {
                continue;
            }
            $fr[1] = $SquidFam->GetFamilySites($fr[1]);
            $MAIN["IPDOM"][trim($fr[0])][trim(strtolower($fr[1]))] = true;
        }
    }
    if (!isInSquid()) {
        build_progress_paranoid("{reconfigure}", 70);
        $php = $unix->LOCATE_PHP5_BIN();
        system("{$php} /usr/share/artica-postfix/exec.squid.php --build --force");
    }
    if (!isInSquid()) {
        build_progress_paranoid("{failed}", 110);
        return;
    }
    build_progress_paranoid("{enabled} OK", 80);
    if ($GLOBALS["RSQUID"]) {
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.squid.paranoid.php

示例13: xstart

function xstart()
{
    $T1 = time();
    $curl = new ccurl();
    $unix = new unix();
    $GLOBALS["MYPID"] = getmypid();
    $pidfile = "/etc/artica-postfix/pids/windowupdate.processor.pid";
    $pid = $unix->get_pid_from_file($pidfile);
    if ($unix->process_exists($pid, basename(__FILE__))) {
        die;
    }
    $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__), true);
    if (count($pids) > 0) {
        while (list($i, $line) = each($pids)) {
            events("Already executed PID:{$i}... aborting ", __LINE__);
        }
        die;
    }
    $TEMPDIR = $unix->TEMP_DIR() . "/WindowsUpdates";
    $rm = $unix->find_program("rm");
    @file_put_contents($pidfile, $GLOBALS["MYPID"]);
    if (is_dir($TEMPDIR)) {
        shell_exec("{$rm} -rf {$TEMPDIR}");
    }
    @mkdir($TEMPDIR, 0755, true);
    $WindowsUpdateMaxPartition = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateMaxPartition"));
    if ($WindowsUpdateMaxPartition == 0) {
        $WindowsUpdateMaxPartition = 80;
    }
    $CheckPartitionPercentage = CheckPartitionPercentage();
    if ($CheckPartitionPercentage > $WindowsUpdateMaxPartition) {
        $time = $unix->file_time_min("/etc/squid3/WindowsUpdatePartitionExceed");
        if ($time > 10) {
            @unlink("/etc/squid3/WindowsUpdatePartitionExceed");
            events("Failed: Storage Partition exceed {$WindowsUpdateMaxPartition}%, Stopping retreivals", __LINE__);
            @touch("/etc/squid3/WindowsUpdatePartitionExceed");
            DirectorySize();
        }
        return;
    }
    $WindowsUpdateInProduction = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateInProduction"));
    if ($WindowsUpdateInProduction == 0) {
        if ($unix->IsProductionTime()) {
            $time = $unix->file_time_min("/etc/artica-postfix/pids/WindowsUpdateInProduction");
            if ($time > 15) {
                @unlink("/etc/artica-postfix/pids/WindowsUpdateInProduction");
                @touch("/etc/artica-postfix/pids/WindowsUpdateInProduction");
                events("INFO: Aborting, No download during production time", __LINE__);
                DirectorySize();
            }
            return;
        }
    }
    if (is_file("/etc/squid3/WindowsUpdatePartitionExceed")) {
        @unlink("/etc/squid3/WindowsUpdatePartitionExceed");
    }
    $q = new mysql_squid_builder();
    $sql = "CREATE TABLE IF NOT EXISTS `windowsupdate` (\n\t\t\t`filemd5` VARCHAR( 90 ) NOT NULL ,\n\t\t\t`zDate` DATETIME NOT NULL ,\n\t\t\t`zUri` VARCHAR( 255 ) NOT NULL ,\n\t\t\t`localpath` VARCHAR( 255 ) NOT NULL ,\n\t\t\t`filesize` BIGINT UNSIGNED DEFAULT '0',\n\t\t\t INDEX ( `filesize` ,`zDate`) ,\n\t\t\t KEY `localpath`(`localpath`),\n\t\t\t KEY `zUri`(`zUri`),\n\t\t\t PRIMARY KEY (`filemd5`)) ENGINE=MYISAM;";
    $q->QUERY_SQL($sql);
    if (!$q->ok) {
        events("MySQL Failed {$q->mysql_error}", __LINE__);
        die;
    }
    $GLOBALS["WindowsUpdateMaxToPartialQueue"] = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateMaxToPartialQueue"));
    if ($GLOBALS["WindowsUpdateMaxToPartialQueue"] == 0) {
        $GLOBALS["WindowsUpdateMaxToPartialQueue"] = 350;
    }
    $GLOBALS["WindowsUpdateCachingDir"] = @file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateCachingDir");
    if ($GLOBALS["WindowsUpdateCachingDir"] == null) {
        $GLOBALS["WindowsUpdateCachingDir"] = "/home/squid/WindowsUpdate";
    }
    $filepath = "{$GLOBALS["WindowsUpdateCachingDir"]}/Queue.log";
    $WindowsUpdateDownTimeout = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/WindowsUpdateDownTimeout"));
    if ($WindowsUpdateDownTimeout == 0) {
        $WindowsUpdateDownTimeout = 600;
    }
    $WindowsUpdateMaxToPartialQueue = $GLOBALS["WindowsUpdateMaxToPartialQueue"] * 1000;
    $WindowsUpdateMaxToPartialQueue = $WindowsUpdateMaxToPartialQueue * 1000;
    $LinesCount = $unix->COUNT_LINES_OF_FILE($filepath);
    if (!is_file($filepath)) {
        return;
    }
    $md5start = md5_file($filepath);
    $handle = @fopen($filepath, "r");
    if (!$handle) {
        events("Fopen failed on {$filepath}", __LINE__);
        return false;
    }
    $NEWBUFFER = array();
    $URLALREADY = array();
    $FinalSize = 0;
    $FF = 0;
    $c = 0;
    while (!feof($handle)) {
        $buffer = trim(fgets($handle));
        $c++;
        if ($buffer == null) {
            continue;
        }
        $TR = explode("|||", $buffer);
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.windowsupdate.php

示例14: ucarp_all_pid

function ucarp_all_pid($eth = null)
{
    $unix = new unix();
    $ucarp_bin = $unix->find_program("ucarp");
    if ($eth != null) {
        $eth = ".*?--interface={$eth}";
    }
    return $unix->PIDOF_PATTERN_ALL("{$ucarp_bin}{$eth}");
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:9,代码来源:exec.virtuals-ip.php

示例15: build

function build()
{
    build_progress("{reconfigure} (1)", 2);
    if ($GLOBALS["VERBOSE"]) {
        echo "Running build...\n";
    }
    $unix = new unix();
    $sock = new sockets();
    $users = new usersMenus();
    $forceCMD = null;
    $argv = null;
    $PHP = $unix->LOCATE_PHP5_BIN();
    $mypid = getmypid();
    if (isset($argv[1])) {
        $argv = $argv[1];
    }
    $pids = $unix->PIDOF_PATTERN_ALL(basename(__FILE__) . ".*?{$argv}");
    if (count($pids) > 1) {
        build_progress("{already_process_exists_try_later}", 110);
        while (list($num, $ligne) = each($pids)) {
            $cmdline = @file_get_contents("/proc/{$num}/cmdline");
            echo "Starting......: " . date("H:i:s") . " [SERV]: [{$mypid}] Already process PID {$num} {$cmdline} exists..\n";
            echo "Starting......: " . date("H:i:s") . " [SERV]: [{$mypid}] Running " . @file_get_contents("/proc/{$num}/cmdline") . "\n";
        }
        die;
    }
    $EnableKerbAuth = $sock->GET_INFO("EnableKerbAuth");
    if (!is_numeric($EnableKerbAuth)) {
        $EnableKerbAuth = 0;
    }
    $EnableWebProxyStatsAppliance = $sock->GET_INFO("EnableWebProxyStatsAppliance");
    $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance");
    if (!is_numeric($EnableRemoteStatisticsAppliance)) {
        $EnableRemoteStatisticsAppliance = 0;
    }
    if (!is_numeric($EnableWebProxyStatsAppliance)) {
        $EnableWebProxyStatsAppliance = 0;
    }
    $UnlockWebStats = $sock->GET_INFO("UnlockWebStats");
    if (!is_numeric($UnlockWebStats)) {
        $UnlockWebStats = 0;
    }
    $ServiceFTPEnabled = intval($sock->GET_INFO("ServiceFTPEnabled"));
    if ($users->WEBSTATS_APPLIANCE) {
        $EnableWebProxyStatsAppliance = 1;
        $sock->SET_INFO("{$EnableWebProxyStatsAppliance}", 1);
    }
    if ($EnableWebProxyStatsAppliance == 1) {
        notify_remote_proxys();
    }
    if ($UnlockWebStats == 1) {
        $EnableRemoteStatisticsAppliance = 0;
    }
    //Vérifie le compte utilisateur.
    //------------------------------------------------------------------------------------------------------------------------------------------------------------
    $unix->CreateUnixUser("squid", "squid", "Squid Cache Service");
    $MustHave[] = "/etc/squid3/artica-meta/whitelist-nets.db";
    $MustHave[] = "/var/logs/cache.log";
    $MustHave[] = "/etc/squid3/squid-block.acl";
    $MustHave[] = "/etc/squid3/allowed-user-agents.acl";
    $MustHave[] = "/etc/squid3/GlobalAccessManager_auth.conf";
    $MustHave[] = "/etc/squid3/icap.conf";
    $MustHave[] = "/etc/squid3/GlobalAccessManager_url_rewrite.conf";
    $MustHave[] = "/etc/squid3/GlobalAccessManager_deny_cache.conf";
    $MustHave[] = "/etc/squid3/GlobalAccessManager_deny.conf";
    $MustHave[] = "/etc/squid3/squid-block.acl";
    $MustHave[] = "/etc/squid3/clients_ftp.acl";
    $MustHave[] = "/etc/squid3/allowed-user-agents.acl";
    $MustHave[] = "/etc/squid3/whitelisted-computers-by-mac.acl";
    while (list($none, $path) = each($MustHave)) {
        echo "Starting......: " . date("H:i:s") . " [SYS]: checking {$path}\n";
        if (!is_file($path)) {
            @touch($path);
        }
        @chown($path, "squid");
        @chgrp($path, "squid");
    }
    if ($GLOBALS["FORCE"]) {
        $forceCMD = " --force";
    }
    $squidbin = $unix->LOCATE_SQUID_BIN();
    if (!is_file($squidbin)) {
        build_progress("{squid_binary_not_found}", 110);
        echo "Starting......: " . date("H:i:s") . " [SERV]: Unable to stat squid binary, aborting..\n";
        die;
    }
    $EXEC_TIME_FILE = "/etc/artica-postfix/" . basename(__FILE__) . ".build.time";
    if (!$GLOBALS["FORCE"]) {
        $time = $unix->file_time_min($EXEC_TIME_FILE);
        if ($time == 0) {
            build_progress("Failed! Only one config per minute !!!", 110);
            echo "Starting......: " . date("H:i:s") . " [SERV]: Only one config per minute...\n";
            die;
        }
    }
    @unlink($EXEC_TIME_FILE);
    @file_put_contents($EXEC_TIME_FILE, time());
    if ($GLOBALS["EMERGENCY"]) {
        squid_admin_mysql(0, "Reconfiguring Proxy service after Emergency enabled", null, __FILE__, __LINE__);
    }
//.........这里部分代码省略.........
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:101,代码来源:exec.squid.php


注:本文中的unix::PIDOF_PATTERN_ALL方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。