file — таинственная утечка памяти в Apache / PHP

Я работал над симуляцией многозадачности в PHP, используя popen, Идея состоит в том, что я помещаю часть кода, которая должна выполняться несколько раз одновременно, в другой файл, запускаю этот файл с помощью popen каждый раз, когда мне нужно, чтобы он запускался, вводил входные данные с помощью аргументов командной строки, а затем перебирал дескрипторы файлов, пока все они не вернут свои данные.

В рамках процесса отладки я запускал это приложение около ста раз, каждый раз вызывая popen около 50 раз. Обычно ресурс pcloseв конце, но иногда ошибка или exit ударил и ресурс остается открытым в конце сценария.

Почему-то около часа назад popen внезапно перестал работать при попытке открыть этот файл. Я также заметил, что если я уменьшу popenк одному и echo из ручки, вместо того, чтобы начать нумерацию в Resource id #2 (У меня также открыто соединение с базой данных), ресурсы начинаются с Resource id #10, Для меня это говорит о том, что, возможно, где-то есть утечка дескрипторов.

Как закрыть эти дескрипторы, если у меня больше нет переменной, ссылающейся на них?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]