TProcess некромантит

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

TProcess некромантит

Сообщение Brainenjii » 31.08.2011 10:07:18

Захватываю видеопоток с камер. Каждую 10 минуту запускаю новый процесс с ffmpeg'ом, каждую 11 - убиваю (fpkill) предыдущий. Убитые процессы превращаются в зомби и остаются в выводе ps ax|grep ffmpeg записями вида "20178 pts/3 Z+ 2:16 [ffmpeg] <defunct>" и конечно их очень много (если камер много).
Всё делается в отдельном потоке.
Код: Выделить всё
...
    If (aMin Mod STEP_INTERVAL = 0) Or (bProcesses.Count = 0) Then
      Begin
        aRecordsCount := 0;
        For i := 0 To aCameras.Count - 1 Do
          Begin
            aCamera := BCameraClass(aCameras[i]);
            bProcesses.Add(RunProcess(aCamera));
            Inc(aRecordsCount);
          End;
      End;
...
    If (aMin Mod STEP_INTERVAL = 1) And
      (bProcesses.Count = aRecordsCount * 2) Then
      Begin
        For i := aRecordsCount - 1 DownTo 0 Do
          Begin
            FpKill(TProcess(bProcesses[i]).Handle, 2);
            TProcess(bProcesses[i]).Free;
            bProcesses.Delete(i);
          End;
      End;
...


вот запуск процесса:
Код: Выделить всё
Function BClockClass.RunProcess(Const aCamera: BCameraClass): TProcess;
Begin
  Result := TProcess.Create(nil);
  With Result Do
    Begin
      CommandLine := Format(STR_FFMPEG, [aCamera.MJPEGFull, '/path/to/file']);
      Execute;
    End;

С чем может быть связано?
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: TProcess некромантит

Сообщение Odyssey » 31.08.2011 10:51:48

Какая версия компилятора? Теоретически это должно быть пофикшено в 2.3.1 и, соответственно, в 2.4.x.
См. http://bugs.freepascal.org/bug_view_pag ... g_id=11797
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: TProcess некромантит

Сообщение Brainenjii » 31.08.2011 11:12:06

Сорри.
Free Pascal Compiler version 2.4.4 [2011/04/22] for i386
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: TProcess некромантит

Сообщение Odyssey » 31.08.2011 13:42:49

Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: TProcess некромантит

Сообщение Brainenjii » 31.08.2011 14:05:48

Спасибо, попробую
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru