Python: Почему мой SMTP-скрипт зависает на моем компьютере? - PullRequest
1 голос
/ 23 апреля 2011

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

Вот ссылка на мои два файла сценария,Первый используется для запуска программы:

readFile.py newEmail.py

1 Ответ

3 голосов
/ 23 апреля 2011

Во-первых, вы используете popen, который создает подпроцессы, т.е.процессы не потоки.Я предполагаю, что это то, что вы имели в виду.

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

...