rafaello
Новичок
Здравствуйте!
по этому ману создал демона
Проблема в том, что сразу плодится 10-20-30 процессов.
Демона делаю первый раз, возможно что то не до понимаю, прошу не пинать, а объяснить, где тут ошибка.
Вот файлы, которые сделал
mycro_n.php
Установил supervisor и создал там конфиг
после команды
sudo systemctl restart supervisor
сразу плодятся много процессов, в файл "file.txt" пишутся записи по 2-5 штук каждую секунду, хотя должно быть 1 запись каждые 10 секунд
по этому ману создал демона
Проблема в том, что сразу плодится 10-20-30 процессов.
Демона делаю первый раз, возможно что то не до понимаю, прошу не пинать, а объяснить, где тут ошибка.
Вот файлы, которые сделал
mycro_n.php
PHP:
$stop = false;
$pid = pcntl_fork();
if ($pid == -1) {
die('Error fork process' . PHP_EOL);
} elseif ($pid) {
/**
* В эту ветку зайдет только родительский процесс, который мы убиваем и сообщаем об этом в консоль
*/
die('Die parent process' . PHP_EOL);
} else {
/**
* Бесконечный цикл
*/
//$sid = posix_setsid();
//if ($sid < 0){die('child process was not created');}
$filename = __DIR__ . '/file.txt';
while(!$stop) {
/*
* Тело демона
*/
file_put_contents($filename,PHP_EOL .time(), FILE_APPEND);
sleep(10);
}
}
/**
* Установим дочерний процесс основным, это необходимо для создания процессов
*/
posix_setsid();
Код:
[program:process]
directory=/var/www/fastuser/data/www/my-site.ru/wp-content/themes/sparkling/inc/
command=/usr/bin/php mycro_n.php &
user=root
autostart=true
autorestart=true
numprocs = 1
stdout_logfile=/var/www/fastuser/data/www/my-site.ru/wp-content/themes/sparkling/inc/logs/process.log
stderr_logfile=/var/www/fastuser/data/www/my-site.ru/wp-content/themes/sparkling/inc/logs/process.error.log
sudo systemctl restart supervisor
сразу плодятся много процессов, в файл "file.txt" пишутся записи по 2-5 штук каждую секунду, хотя должно быть 1 запись каждые 10 секунд