Во-первых, вы используете popen
, который создает подпроцессы, т.е.процессы не потоки.Я предполагаю, что это то, что вы имели в виду.
Я предполагаю, что программа застревает в цикле, где непрерывно генерирует процессы, что ОС, вероятно, не понравится.(Такая вещь известна как forkbomb , которая является хорошим способом заморозить Linux, если ограничение процесса не было установлено с ulimit
.) Я не смог бы найти ошибку, но если бы я былвы, я бы регистрировал сообщения каждый раз, когда я запускаю или убиваю подпроцесс, и, если все нормально, внимательно наблюдайте за системой (ps
или top
в системах Unix), чтобы увидеть, действительно ли процессы уничтожаются.