Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
system("kill -9 {$this->pid}"); он не освобождает ресурсы.case SIGTERM:
echo 'opa!';
return;#!/usr/bin/php
<?php
echo "________________________________________\n";
$command = "restart";
if (isset($argv[1]))
$command = trim($argv[1]);
echo "Начинаем сканировать процессы...\n";
exec("ps -A -F | grep php", $output);
$folder = dirname(__FILE__);
$php = "php";
$names = array(
"system",
"inspector",
"drivers",
"android",
);
echo "Определяем демоны multitaxi...\n";
foreach ($output as $out) {
if (preg_match_all("#.*php ".$folder."/(.*)\.php#isU", $out, $matches)) {
$matches[0][0] = str_replace(" ", " ", $matches[0][0]);
$matches[0][0] = str_replace(" ", " ", $matches[0][0]);
$matches[0][0] = str_replace(" ", " ", $matches[0][0]);
$matches[0][0] = str_replace(" ", " ", $matches[0][0]);
$matches[0][0] = str_replace(" ", " ", $matches[0][0]);
$daemon = $matches[1][0];
$matches = explode(" ", $matches[0][0]);
$pid = $matches[1];
//echo $daemon;
if (in_array($daemon, $names)) {
if ($command != "view")
exec("kill -9 ".$pid);
echo "Процесс: ".$daemon." (".$pid.")\n";
}
}
}
if ($command != "stop" && $command != "view") {
echo "Запускаем процессы...\n";
foreach ($names as $d) {
exec($php." ".$folder."/".$d.".php 1>> /dev/null 2>> /dev/null &");
echo $php." ".$folder."/".$d.".php 1>> /dev/null 2>> /dev/null & \n";
}
}
echo "Готово!\n";
echo "________________________________________\n";
?>
$matches[0][0] = str_replace(" ", " ", $matches[0][0]); стыдно :)
Параллельные вычисления, класс-обёртка для pcntl_fork()