function xrun() { $unix = new unix(); build_progress("{enable_service}", 15); $vpn = new openvpn(); $vpn->main_array["GLOBAL"]["ENABLE_SERVER"] = 1; @file_put_contents("/etc/artica-postfix/settings/Daemons/EnableOPenVPNServerMode", 1); $vpn->Save(true); build_progress("{building_configuration}", 50); $php = $unix->LOCATE_PHP5_BIN(); system("{$php} /usr/share/artica-postfix/exec.openvpn.php --server-conf"); system("{$php} /usr/share/artica-postfix/exec.initslapd.php --openvpn-server"); build_progress("{restart_service}", 90); system("/etc/init.d/openvpn-server restart"); $pid = PID_NUM(); if ($unix->process_exists($pid)) { build_progress("{done}", 100); } else { build_progress("{failed}", 100); } }
function framework() { $unix = new unix(); if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, Framework...\n"; } $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $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]: Nginx Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); if (!is_file("/etc/artica-postfix/WORDPRESS_APPLIANCE")) { $lighttpdbin = $unix->find_program("lighttpd"); if (is_file($lighttpdbin)) { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, {$lighttpdbin} OK turn, to lighttpd...\n"; } return; } } if (!is_file("/etc/php5/fpm/pool.d/framework.conf")) { $php = $unix->LOCATE_PHP5_BIN(); shell_exec("{$php} /usr/share/artica-postfix/exec.php-fpm.php --build"); } if (!is_file("/etc/php5/fpm/pool.d/framework.conf")) { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, Unable to stat framework settings\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, building framework...\n"; } $host = new nginx(47980); $host->set_proxy_disabled(); $host->set_DocumentRoot("/usr/share/artica-postfix/framework"); $host->set_framework(); $host->build_proxy(); $PID = PID_NUM(); if (!$unix->process_exists($PID)) { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, not started, start it...\n"; } start(true); } $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, reloading PID {$PID}\n"; } shell_exec("{$kill} -HUP {$PID} >/dev/null 2>&1"); }
function stop($aspid = false) { $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } return; } $pid = PID_NUM(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); $chmod = $unix->find_program("chmod"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Shutdown pid {$pid}...\n"; } unix_system_kill($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } return; } }
function SERVICE_START($nochecks = false, $nopid = false) { $unix = new unix(); $sock = new sockets(); $kill = $unix->find_program("kill"); if (!$nopid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = @file_get_contents($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); echo "Starting......: " . date("H:i:s") . " MySQL this script is already executed PID: {$pid} since {$time}Mn\n"; if ($time < 5) { if (!$GLOBALS["FORCE"]) { return; } } unix_system_kill_force($pid); } @file_put_contents($pidfile, getmypid()); } if (is_file("/etc/artica-postfix/mysql.stop")) { echo "Starting......: " . date("H:i:s") . " MySQL locked, exiting\n"; return; } $PID_NUM = PID_NUM(); if ($unix->process_exists($PID_NUM)) { $timemin = $unix->PROCCESS_TIME_MIN($PID_NUM); echo "Starting......: " . date("H:i:s") . " MySQL already running PID \"{$PID_NUM}\" since {$timemin}Mn\n"; return; } $mysql_install_db = $unix->find_program('mysql_install_db'); $mysqlbin = $unix->LOCATE_mysqld_bin(); $php5 = $unix->LOCATE_PHP5_BIN(); $nohup = $unix->find_program("nohup"); if (!is_file($mysqlbin)) { echo "Starting......: " . date("H:i:s") . " MySQL is not installed, abort\n"; return; } $EnableMysqlFeatures = $sock->GET_INFO('EnableMysqlFeatures'); $MysqlBinAllAdresses = $sock->GET_INFO('MysqlBinAllAdresses'); $MySQLTMPMEMSIZE = $sock->GET_INFO('MySQLTMPMEMSIZE'); $MysqlTooManyConnections = $sock->GET_INFO("MysqlTooManyConnections"); $MysqlRemoveidbLogs = $sock->GET_INFO("MysqlRemoveidbLogs"); $innodb_force_recovery = $sock->GET_INFO("innodb_force_recovery"); if (!is_numeric($innodb_force_recovery)) { $innodb_force_recovery = 0; } if (!is_numeric($MysqlRemoveidbLogs)) { $MysqlRemoveidbLogs = 0; } if (!is_numeric($MysqlBinAllAdresses)) { $MysqlBinAllAdresses = 0; } if (!is_numeric($MySQLTMPMEMSIZE)) { $MySQLTMPMEMSIZE = 0; } if (!is_numeric($MysqlTooManyConnections)) { $MysqlTooManyConnections = 0; } if (!is_numeric($EnableMysqlFeatures)) { $EnableMysqlFeatures = 1; } $MySqlTmpDir = $sock->GET_INFO('MySQLTMPDIR'); $MySQLLOgErrorPath = $sock->GET_INFO('MySQLLOgErrorPath'); $datadir = $unix->MYSQL_DATA_DIR(); $EnableMysqlLog = $sock->GET_INFO("EnableMysqlLog"); if (!is_numeric($EnableMysqlLog)) { $EnableMysqlLog = 0; } if ($datadir == null) { $datadir = '/var/lib/mysql'; } if ($MySqlTmpDir == '/tmp') { $MySqlTmpDir = null; } if ($MySQLLOgErrorPath == null) { $MySQLLOgErrorPath = $datadir . '/mysqld.err'; } if ($MysqlTooManyConnections == 1) { echo "Starting......: " . date("H:i:s") . " MySQL MysqlTooManyConnections=1, abort\n"; return; } if (isset($GLOBALS["RECOVERY"])) { $innodb_force_recovery = $GLOBALS["RECOVERY"]; } if (strlen($MySqlTmpDir) > 3) { echo "Starting......: " . date("H:i:s") . " MySQL tempdir : {$MySqlTmpDir}\n"; shell_exec("{$php5} /usr/share/artica-postfix/exec.mysql.build.php --tmpfs"); $MySqlTmpDir = str_replace("//", "/", $MySqlTmpDir); if (!is_dir($MySqlTmpDir)) { @mkdir($MySqlTmpDir, 0755, true); $unix->chown_func("mysql", "mysql", $MySqlTmpDir); } $MySqlTmpDirCMD = " --tmpdir={$MySqlTmpDir}"; } if ($EnableMysqlFeatures == 0) { echo "Starting......: " . date("H:i:s") . " MySQL is disabled by \"EnableMysqlFeatures\"...\n"; return; } $pid_file = "/var/run/mysqld/mysqld.pid"; $socket = "/var/run/mysqld/mysqld.sock"; $mysql_user = "******"; @mkdir("/var/run/mysqld", 0755, true); @mkdir("/var/log/mysql", 0755, true); @mkdir($datadir, 0755, true); $dirs = $unix->dirdir("/var/lib/mysql"); while (list($num, $directory) = each($dirs)) { echo "Starting......: " . date("H:i:s") . " MySQL, apply permissions on " . basename($directory) . "\n"; $unix->chown_func("mysql", "mysql", "{$directory}/*"); } $bind_address = ' --bind-address=127.0.0.1'; $bind_address2 = "127.0.0.1"; if ($MysqlBinAllAdresses == 1) { $bind_address2 = 'All (0.0.0.0)'; $bind_address = ' --bind-address=0.0.0.0'; } echo "Starting......: " . date("H:i:s") . " MySQL Pid path.......:{$pid_file}\n"; echo "Starting......: " . date("H:i:s") . " datadir..............:{$datadir}\n"; echo "Starting......: " . date("H:i:s") . " Log error............:{$MySQLLOgErrorPath}\n"; echo "Starting......: " . date("H:i:s") . " socket...............:{$socket}\n"; echo "Starting......: " . date("H:i:s") . " user.................:{$mysql_user}\n"; echo "Starting......: " . date("H:i:s") . " LOGS ENABLED.........:{$EnableMysqlLog}\n"; echo "Starting......: " . date("H:i:s") . " Daemon...............:{$mysqlbin}\n"; echo "Starting......: " . date("H:i:s") . " Bind address.........:{$bind_address2}\n"; echo "Starting......: " . date("H:i:s") . " Temp Dir.............:{$MySqlTmpDir}\n"; echo "Starting......: " . date("H:i:s") . " innodb_force_recovery:{$innodb_force_recovery}\n"; mysql_admin_mysql(1, "Starting MySQL service...", null, __FILE__, __LINE__); echo "Starting......: " . date("H:i:s") . " Settings permissions..\n"; @mkdir("/var/run/mysqld", 0755, true); $unix->chown_func($mysql_user, $mysql_user, "/var/run/mysqld"); $unix->chown_func($mysql_user, $mysql_user, "/var/log/mysql"); $unix->chown_func($mysql_user, $mysql_user, $datadir); $unix->chown_func($mysql_user, $mysql_user, "{$datadir}/*"); if ($unix->is_socket("/var/run/mysqld/mysqld.sock")) { @unlink("/var/run/mysqld/mysqld.sock"); } if (is_file('/var/run/mysqld/mysqld.err')) { @unlink('/var/run/mysqld/mysqld.err'); } if (is_file("/var/run/mysqld/mysqld.pid")) { $unix->chown_func($mysql_user, $mysql_user, "/var/run/mysqld/mysqld.pid"); } if ($MysqlRemoveidbLogs == 1) { shell_exec('/bin/mv /var/lib/mysql/ib_logfile* /tmp/'); $sock->SET_INFO('MysqlRemoveidbLogs', '0'); } $logpathstring = " --log-error={$MySQLLOgErrorPath}"; if ($EnableMysqlLog == 1) { $logpathstring = " --log=/var/log/mysql.log --log-slow-queries=/var/log/mysql-slow-queries.log --log-error={$MySQLLOgErrorPath} --log-warnings"; } $toTouch[] = "/var/log/mysql-slow-queries.log"; $toTouch[] = "/var/log/mysql.error"; $toTouch[] = "/var/log/mysql.log"; $toTouch[] = "/var/log/mysql.warn"; while (list($num, $filename) = each($toTouch)) { if (!is_file($filename)) { @file_put_contents($filename, "#\n"); } $unix->chown_func($mysql_user, $mysql_user, $filename); } echo "Starting......: " . date("H:i:s") . " MySQL Checking : {$datadir}/mysql/host.frm\n"; if (!is_file("{$datadir}/mysql/host.frm")) { if (is_file($mysql_install_db)) { echo "Starting......: " . date("H:i:s") . " MySQL Installing default databases\n"; shell_exec("{$mysql_install_db} --datadir=\"{$datadir}\""); } } else { echo "Starting......: " . date("H:i:s") . " MySQL Checking : {$datadir}/mysql/host.frm OK\n"; } $cmd2 = array(); $MEMORY = $unix->MEM_TOTAL_INSTALLEE(); $AsCategoriesAppliance = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/AsCategoriesAppliance")); if ($AsCategoriesAppliance == 1) { $MEMORY = 620288; } if ($MEMORY < 624288) { $GetStartedValues = GetStartedValues(); echo "Starting......: " . date("H:i:s") . " MySQL Warning memory did not respond to pre-requesites, tuning to lower memory\n"; if ($GetStartedValues["--key-buffer-size"]) { $cmd2[] = "--key-buffer-size=8M"; } if ($GetStartedValues["--max-allowed-packet"]) { $cmd2[] = "--max-allowed-packet=4M"; } if ($GetStartedValues["--table-cache"]) { $cmd2[] = "--table-cache=4"; } if ($GetStartedValues["--sort-buffer-size"]) { $cmd2[] = "--sort-buffer-size=64k"; } if ($GetStartedValues["--read-buffer-size"]) { $cmd2[] = "--read-buffer-size=256k"; } if ($GetStartedValues["--read-rnd-buffer-size"]) { $cmd2[] = "--read-rnd-buffer-size=128k"; } if ($GetStartedValues["--net-buffer-length"]) { $cmd2[] = "--net-buffer-length=2k"; } if ($GetStartedValues["--thread-stack"]) { $cmd2[] = "--thread-stack=192k"; } if ($GetStartedValues["--thread-cache-size"]) { $cmd2[] = "--thread-cache-size=128"; } if ($GetStartedValues["--thread-concurrency"]) { $cmd2[] = "--thread-concurrency=10"; } if ($GetStartedValues["--default-storage-engine"]) { $cmd2[] = "--default-storage-engine=MyISAM"; } if ($GetStartedValues["--default-tmp-storage-engine"]) { $cmd2[] = "--default-tmp-storage-engine=MyISAM"; } if ($GetStartedValues["--tmp-table-size"]) { $cmd2[] = "--tmp-table-size=16M"; } if ($GetStartedValues["--table-cache"]) { $cmd2[] = "--table-cache=64"; } if ($GetStartedValues["--query-cache-limit"]) { $cmd2[] = "--query-cache-limit=4M"; } if ($GetStartedValues["--query-cache-size"]) { $cmd2[] = "--query-cache-size=32M"; } if ($GetStartedValues["--max-connections"]) { $cmd2[] = "--max-connections=50"; } if (is_file("/etc/artica-postfix/WORDPRESS_APPLIANCE")) { $cmd2[] = "--innodb=OFF"; } echo "Starting......: " . date("H:i:s") . " MySQL " . count($cmd2) . " forced option(s)\n"; } if (is_file($MySQLLOgErrorPath)) { @unlink($MySQLLOgErrorPath); } $cmds[] = $mysqlbin; if ($MEMORY < 624288) { $cmds[] = "--no-defaults --user=mysql"; } $cmds[] = "--pid-file=/var/run/mysqld/mysqld.pid"; $cmds[] = trim($logpathstring); $cmds[] = trim($MySqlTmpDirCMD); $cmds[] = "--socket={$socket}"; $cmds[] = "--datadir=\"{$datadir}\""; if (count($cmd2) == 0) { if ($innodb_force_recovery > 0) { $cmds[] = "--innodb-force-recovery={$innodb_force_recovery}"; } } if (count($cmd2) > 0) { $cmds[] = @implode(" ", $cmd2); } $cmds[] = ">/dev/null 2>&1 &"; if (is_file('/usr/sbin/aa-complain')) { echo "Starting......: " . date("H:i:s") . " Mysql Adding mysql in apparamor complain mode...\n"; shell_exec("/usr/sbin/aa-complain {$mysqlbin} >/dev/null 2>&1"); } $cmd = @implode(" ", $cmds); while (list($num, $ligne) = each($cmds)) { echo "Starting......: " . date("H:i:s") . " MySQL Option: {$ligne}\n"; } echo "Starting......: " . date("H:i:s") . " MySQL Starting daemon, please wait\n"; writelogs("Starting MySQL {$cmd}", __FUNCTION__, __FILE__, __LINE__); shell_exec($cmd); $count = 0; sleep(2); for ($i = 0; $i < 6; $i++) { $pid = PID_NUM(); if ($unix->process_exists($pid, $mysqlbin)) { echo "Starting......: " . date("H:i:s") . " MySQL Checks daemon running...\n"; break; } echo "Starting......: " . date("H:i:s") . " MySQL Checks daemon, please wait ({$i}/6)\n"; sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { echo "Starting......: " . date("H:i:s") . " MySQL failed\n"; echo "Starting......: " . date("H:i:s") . " {$cmd}\n"; system_admin_events("Failed to start MySQL server", __FUNCTION__, __FILE__, __LINE__, "services"); $php5 = $unix->LOCATE_PHP5_BIN(); shell_exec("{$nohup} {$php5} /usr/share/artica-postfix/exec.mysql.build.php >/dev/null 2>&1 &"); } else { for ($i = 0; $i < 4; $i++) { echo "Starting......: " . date("H:i:s") . " MySQL Checks mysqld.sock waiting {$i}/3\n"; if ($unix->is_socket("/var/run/mysqld/mysqld.sock")) { break; } sleep(1); } if (!$unix->is_socket("/var/run/mysqld/mysqld.sock")) { mysql_admin_mysql(0, "Failed to start MySQL Server /var/run/mysqld/mysqld.sock no such socket after 4 seconds", null, __FILE__, __LINE__); echo "Starting......: " . date("H:i:s") . " MySQL Checks mysqld.sock failed...\n"; } mysql_admin_mysql(1, "Success to start MySQL Server with new pid {$pid}", null, __FILE__, __LINE__); echo "Starting......: " . date("H:i:s") . " MySQL Success pid {$pid}\n"; $q = new mysql_squid_builder(); $q->MEMORY_TABLES_RESTORE(); } }
function stop($aspid = false) { if ($GLOBALS["MONIT"]) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} runned by Monit, abort\n"; } return; } $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Artica script already running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } killbyports(); return; } $pid = PID_NUM(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} notify framework\n"; } shell_exec("{$php5} /usr/share/artica-postfix/exec.squidguard.php --notify-stop"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Shutdown pid {$pid}...\n"; } unix_system_kill($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } killbyports(); @unlink("/var/log/squid/UFDB_SOCKET_ERROR"); return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } @unlink("/var/log/squid/UFDB_SOCKET_ERROR"); return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } killbyports(); @unlink("/var/log/squid/UFDB_SOCKET_ERROR"); }
function stop($aspid = false) { if ($GLOBALS["MONIT"]) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} runned by Monit, abort\n"; } return; } $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Artica script already running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } return; } $pid = PID_NUM(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Shutdown pid {$pid}...\n"; } build_progress("{stopping_service}", 6); squid_admin_mysql(1, "Stopping Categories Service", "nothing", __FILE__, __LINE__); unix_system_kill($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { build_progress("{stopping_service} {$i}/5", 7); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } build_progress("{stopped}", 8); }
function stop($aspid = false) { $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } return true; } $pid = PID_NUM(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); build_progress_restart("{stopping}", 15); $f[] = "su -l ArticaStats -c '"; $f[] = "/usr/local/ArticaStats/bin/pg_ctl -D /home/ArticaStatsDB -l /var/log/ArticaStatsDB/ArticaStatsDB.log stop'"; $cmd = @implode(" ", $f); system($cmd); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Shutdown pid {$pid}...\n"; } for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); build_progress_restart("{stopping} {$i}/5", 15); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { build_progress_restart("{stopping} {success}", 20); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return true; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } build_progress_restart("{killing}...", 25); unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { build_progress_restart("{killing}...{$i}/5", 25); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { build_progress_restart("{stopping}...{failed}", 110); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } return; } return true; }
function stop($aspid = false) { $unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; if (!$aspid) { $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} Already task running PID {$pid} since {$time}mn\n"; } return; } } @file_put_contents($pidfile, getmypid()); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} already stopped...\n"; } return; } $apache2ctl = $unix->LOCATE_APACHE_CTL(); $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} with a ttl of {$time}mn\n"; } $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} killing smoothly PID {$pid} ( {$apache2ctl} )...\n"; } $results = array(); exec("{$apache2ctl} -f /etc/zarafa/httpd.conf -k stop 2>&1", $results); while (list($index, $dir) = each($results)) { if (preg_match("#[0-9]+.*?not running#", $dir)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} killing \"forced\" PID {$pid}...\n"; } unix_system_kill($pid); break; } } sleep(1); for ($i = 1; $i < 10; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} Successfully stopped ...\n"; } break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} wait pid {$pid} {$i}/60\n"; } shell_exec("{$apache2ctl} -f /etc/zarafa/httpd.conf -k kill >/dev/null 2>&1"); sleep(1); } $pid = PID_NUM(); if ($unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} killing \"forced\" PID {$pid}...\n"; } unix_system_kill($pid); sleep(1); for ($i = 1; $i < 10; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} Successfully stopped ...\n"; } break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} wait {$i}/60\n"; } sleep(1); } } if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} daemon success...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} daemon failed...\n"; } }
function stop($aspid = false) { $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } return; } $pid = PID_NUM(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Shutdown pid {$pid}...\n"; } unix_system_kill($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } return; } $sock = new sockets(); $maillog_path = $sock->GET_INFO("maillog_path"); $tail = $unix->find_program("tail"); if (strlen($maillog_path) == 0) { shell_exec("/usr/share/artica-postfix/bin/artica-install --whereis-maillog >/dev/null 2>&1"); $maillog_path = $sock->GET_INFO("maillog_path"); } if (strlen($maillog_path) == 0) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Unable to find mail.log path\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} mail.log: {$maillog_path}\n"; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} find ghost processes\n"; } for ($i = 0; $i < 10; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Kill ghost {$pid} process\n"; } unix_system_kill_force($pid); } }
function Killing() { $unix = new unix(); $pid = PID_NUM(); $kill = $unix->find_program("kill"); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return; } unix_system_kill($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); }
function RECONFIGURE_PROGRESS() { $unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $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]: {$GLOBALS["TITLENAME"]}: Already Artica task running PID {$pid} since {$time}mn\n"; } build_progress_reconfigure("{failed}", 110); return; } $sock = new sockets(); $ArticaHotSpotEnableMIT = $sock->GET_INFO("ArticaHotSpotEnableMIT"); $ArticaHotSpotEnableProxy = $sock->GET_INFO("ArticaHotSpotEnableProxy"); if (!is_numeric($ArticaHotSpotEnableMIT)) { $ArticaHotSpotEnableMIT = 1; } if (!is_numeric($ArticaHotSpotEnableProxy)) { $ArticaHotSpotEnableProxy = 1; } $proxyRestart = 0; if ($ArticaHotSpotEnableMIT == 1) { $proxyRestart = 1; } if ($ArticaHotSpotEnableProxy == 1) { $proxyRestart = 1; } $php = $unix->LOCATE_PHP5_BIN(); build_progress_reconfigure("{reconfigure_hostpot_service}", 5); build_progress_reconfigure("{stopping_service} Hostpot", 10); stop(true); build_progress_reconfigure("Building templates", 20); sleep(2); shell_exec("{$php} /usr/share/artica-postfix/hostpot.php --templates"); build_progress_reconfigure("{building_parameters}", 30); buildconfig(); sleep(2); build_progress_reconfigure("{starting_service} Hostpot", 40); start(true); if ($proxyRestart == 1) { build_progress_reconfigure("{reconfigure_proxy_service}", 50); system("{$php} /usr/share/artica-postfix/exec.squid.php --build --force"); } build_progress_reconfigure("{reconfiguring} {webserver}", 60); system("{$php} /usr/share/artica-postfix/exec.hostpot-web.php --build"); sleep(2); build_progress_reconfigure("{restarting} {webserver}", 70); system("{$php} /usr/share/artica-postfix/exec.hostpot-web.php --restart --force"); sleep(2); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { build_progress_reconfigure("{starting_service} HotSpot {failed}", 110); return; } build_progress_reconfigure("{starting_service} HotSpot {success}", 95); $pid = apache_pid(); if (!$unix->process_exists($pid)) { build_progress_reconfigure("{starting_service} {webserver} {failed}", 110); return; } build_progress_reconfigure("{starting_service} {webserver} {success}", 98); sleep(3); build_progress_reconfigure("{reconfigure_hostpot_service} {done}", 100); }
function stop($aspid = false) { $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { build_progress_rs("{stopping_service}", 30); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } return true; } $pid = PID_NUM(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); build_progress_rs("{stopping_service}", 15); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Shutdown pid {$pid}...\n"; } system("/etc/init.d/unifi stop >/dev/null 2>&1 &"); for ($i = 0; $i < 5; $i++) { build_progress_rs("{stopping_service}", 15 + $i); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { build_progress_rs("{stopping_service}", 30); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return true; } build_progress_rs("{stopping_service}", 30); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { build_progress_rs("{stopping_service}", 30 + $i); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { build_progress_rs("{stopping_service} {failed}", 110); squid_admin_mysql(0, "Failed to stop Unifi Controller Engine", __FILE__, __LINE__); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } return; } return true; }
function stop($aspid = false) { $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { build_progress_rs("{stopping_service}", 30); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } return true; } $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); build_progress_rs("{stopping_service}", 15); if (!ifInitScript()) { shell_exec("{$php5} /usr/share/artica-postfix/exec.initslapd.php --influx"); } $cmd = "/etc/init.d/influx-db stop"; if ($GLOBALS["VERBOSE"]) { echo "{$cmd}\n"; } shell_exec($cmd); $pid = PID_NUM(); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Shutdown pid {$pid}...\n"; } unix_system_kill($pid); for ($i = 0; $i < 5; $i++) { build_progress_rs("{stopping_service}", 15 + $i); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if (test_listen_port()) { for ($i = 0; $i < 5; $i++) { build_progress_rs("{stopping_service} {waiting_port_to_be_closed}", 25); if (!test_listen_port()) { break; } if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting socket {$i}/5...\n"; } sleep(1); } } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { build_progress_rs("{stopping_service}", 30); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return true; } build_progress_rs("{stopping_service}", 30); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { build_progress_rs("{stopping_service}", 30 + $i); $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { build_progress_rs("{stopping_service} {failed}", 110); squid_admin_mysql(0, "Failed to start Statistics Engine", __FILE__, __LINE__); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } return; } return true; }
function stop_sync_client() { $unix = new unix(); if (!is_file($unix->CYRUS_SYNC_CLIENT_BIN_PATH())) { return; } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} - sync_client - service already stopped...\n"; } return; } $pid = sync_client_pid(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} - sync_client - service Shutdown pid {$pid}...\n"; } unix_system_kill($pid); for ($i = 0; $i < 5; $i++) { $pid = sync_client_pid(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} - sync_client - Service Waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = sync_client_pid(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} - sync_client - Service success...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} - sync_client - service Shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { $pid = sync_client_pid(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} - sync_client - service Waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } if ($unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} - sync_client - service Failed...\n"; } return; } }
function stop($aspid = false) { $unix = new unix(); if (!$aspid) { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); } $amavisbin = $unix->LOCATE_AMAVISD_BIN_PATH(); if (!is_file($amavisbin)) { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Service Not installed\n"; } die; } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service already stopped...\n"; } return; } $timepid = $unix->PROCCESS_TIME_MIN($pid); $pid = PID_NUM(); $nohup = $unix->find_program("nohup"); $php5 = $unix->LOCATE_PHP5_BIN(); $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Binary: {$amavisbin}\n"; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Service Shutdown pid {$pid} running since {$timepid}mn...\n"; } $cmd = "{$nohup} {$amavisbin} -c /usr/local/etc/amavisd.conf stop >/dev/null 2>&1 &"; shell_exec($cmd); for ($i = 0; $i < 8; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); } $pid = PID_NUM(); if (!$unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service success...\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service shutdown - force - pid {$pid}...\n"; } unix_system_kill_force($pid); for ($i = 0; $i < 5; $i++) { $pid = PID_NUM(); if (!$unix->process_exists($pid)) { break; } if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service waiting pid:{$pid} {$i}/5...\n"; } sleep(1); unix_system_kill_force($pid); } if ($unix->process_exists($pid)) { if ($GLOBALS["OUTPUT"]) { echo "Stopping......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} service failed...\n"; } return; } }