У меня есть скрипт php, который делит задачу на несколько частей и запускает каждую часть в отдельном дочернем процессе. Код выглядит так:
foreach($users as $k => $arr) {
if(($pid = pcntl_fork()) === -1) continue;
if($pid) {
pcntl_wait($status,WNOHANG);
continue;
}
ob_start();
posix_setsid();
dbConnect();
// do stuff to data
exit();
}
Я запускаю этот скрипт, используя crontab на сервере Debian, но проблема в том, что некоторые процессы продолжают работать и резервируют память. Через некоторое время память сервера затопляется.
Мне нужно найти способ убедиться, что все процессы завершаются правильно.